Atualmente, muitos sites fornecem função de registro do usuário. Geralmente, depois de nos registrarmos com sucesso, receberemos um email do site registrado. O conteúdo do email pode conter informações como nosso nome de usuário e senha registrados, bem como um hiperlink para ativar a conta. Hoje também implementaremos essa função. Depois que o usuário se registrar com sucesso, as informações de registro do usuário serão enviadas para o email de registro do usuário na forma de um email. Para realizar a função de envio de email, o Javamail deve ser usado.
1. Construa um ambiente de desenvolvimento
1.1. Crie um projeto da web
1.2. Página JSP de registro de usuário
Register.jsp
<%@ página linguagem = "java" PageEncoding = "utf-"%> <! name = "nome de usuário"> <br/> Senha: <input type = "senha" name = "senha"> <br/> email: <input type = "text" name = "email"> <br/> type de entrada = "submit" value = "registring"> </form> </body> </html>
1.3. Página de promotos de mensagem
message.jsp
<%@ página linguagem = "java" PageEncoding = "utf-"%> <!
2. Escreva um programa de processamento de registro de usuário
2.1. Desenvolva um domínio que encapsula informações de registro do usuário
User.java
pacote me.gacl.Domain; public class User {private string nome de usuário; private string senha; private string email; public string getUserName () {return userName;} public void setUserName (string userName) {this.username = userName;} public string string () {return senha;} angur set setTer) email;} public void setEmail (string email) {this.email = email;}}2.2. Escreva função de envio de e -mail
Enviar e-mails é uma coisa muito demorada, então aqui está uma aula de thread para enviar e-mails
pacote me.gacl.web.controller; importar java.util.properties; importar javax.mail.message; importar javax.mail.session; importar javax.mail.transport; imporinningret.mail.internet.internGledDress; import javrax.mail.Mail.MernTax.mail.internet.internet; @ClassName: Sendmail* @Description: O sendmail Ithera Threads, então o Sendmail é uma classe de threads, usada para enviar email para o usuário especificado* @author: Garantidor* @Date: - Tarde :: **/public classe sendmail estends thread {// O endereço de email usado para enviar emails para usuários privado de = " "gacl"; // a senha do endereço de email private string senha = "email senha"; // o endereço do servidor do remetente String privado host = "smtp.sohu.com"; usuário privado; usuário public sendmail (usuário do usuário) {this.user = user;}/* reescreva a implementação do método de execução e envie emails para o usuário especificado java.lang.Thread#run ()*/@SubsteridePublic void run () {try {Properties prop = new Properties (); prop.setProperty ("Mail.host", host); prop.setProperty ("Mail.Transport.Protocol", "Smtp"); Prop.Property "" Session.getInstance (prop); sssion.setDebug (true); transporte ts = session.getTransport (); ts.connect (host, nome de usuário, senha); message = createEmail (sessão, user); ts.sendMessage (message.getAllRecipients ()); ts.close (); @Method: CreateEmail* @Description: Crie o email a ser enviado* @Anthor: Lonely CanGlang ** @param Session* @param User* @return* @throws Exception*/ public Mensagem CreateEmail (Sessão, Usuário) lança Exceção {Mimemessage message = new Mimemessage (Sessão); message.setFrom (new InternetAddress (de)); message.setRecipient (message.recipientType.to, new InternetAddress (user.getEmail ())); Message.SetSubject ("Email de registro do usuário"); String info = "Parabéns pelo seu registro bem -sucedido, seu nome de usuário:" + user.getUserName () + ", sua senha:" + user.getpassword () + ", mantenha -o corretamente. Se você tiver alguma dúvida, entre em contato com o atendimento ao cliente !!"; message.setContent (info, "text/html; charset = utf-"); message.saveChanges (); retorna mensagem;}}2.3. Escreva um servlet que lida com o registro do usuário
pacote me.gacl.web.controller; importar java.io.ioException; importar javax.servlet.servleTexception; importar javax.servlet.http.httpServlet; import jAVAX.Servlet.htttp.httpSletLestlestt; me.gacl.Domain.User; importar me.gacl.service.userService; classe pública RegisterServlet estende httpServlet {public void Doget (httpServletReQuest solicitação, httpSletReponse Response) lança servlexception, ioException {Try {username = username = string. request.getParameter ("senha"); string email = request.getParameter ("email"); usuário user = new user (); user.setEmail (email); user.setpassword (senha); user.setUserName (usename); system.out.out.println ("Registre as informações do usuário no database"); Uma tarefa muito demorada, para que outro tópico seja aberto aqui para enviar especificamente emails sendmail send = new Sendmail (usuário); // Inicie o thread e, depois que o thread iniciar, ele executará o método de execução para enviar emails sendistrem.start (); Enviamos um email com as informações de registro. Por favor, verifique. Se você não receber, pode ser devido à Internet. Você receberá isso daqui a pouco! ! "); request.getRequestDispatcher ("/message.jsp "). Forward (solicitação, resposta);} Catch (Exceção e) {e.printStackTrace (); request.setAttribute (" message "," registro falhou !! "); request.getReQuestDispatcher (" Public.JSP "). Resposta HttpServletResponse) lança servleTexception, ioexception {Doget (solicitação, resposta);}}O programa é o seguinte:
Muitos sites agora têm essas funções. Após a conclusão do registro do usuário, o site nos enviará um email com base no endereço de e -mail que preenchemos ao registrar e clicará no hiperlink no email para ativar nossos usuários. É assim que essa função é implementada.
Ao resumir o uso do Javamail para enviar e -mails, verifica -se que, ao enviar e -mails para as caixas de correio do Sina ou Sohu, talvez você não consiga receber os e -mails imediatamente. Sempre há um atraso, às vezes será adiado por um longo tempo e até será processado como spam, ou você pode simplesmente se recusar a recebê -los. Às vezes, é impotente esperar muito tempo para ver o efeito de envio de e -mail bem -sucedido.
O exposto acima é o código de exemplo da função de envio de e -mail de e -mail Java, introduzida a você pelo editor. Espero que seja útil para todos!