Quando o usuário adquiriu o produto, devemos enviar um email ao usuário para dizer a ele que o pedido foi gerado e o endereço de email é obtido a partir das informações básicas do usuário. Ok, vamos primeiro olhar para o método de enviar e -mails em Java.
1. Métodos para enviar e -mail em java
Antes de melhorar este projeto, vamos primeiro revisar como os e -mails são enviados em Java. Primeiro de tudo, você precisa enviar e -mails: email.jar, importá -los para o diretório Lib. Ok, vamos escrever um programa Java comum para revisar os pontos de conhecimento do email Java:
classe pública sendemaildemo {public static void main (string [] args) lança exceção {// 1. Faça login no cliente de email (Criar sessão de sessão) Propriedades prop = new Properties (); Prop.SetProperty ("Mail.Transport.Protocol", "SMTP"); // Crie sessão sessão sessão sessão session = session.getDefaultInstance (prop); // Defina o modo de depuração para depurar session session.setDebug (true); // Crie uma mensagem de email objeto Mensagem = new Mimemessage (sessão); // Escreva uma mensagem de letra. // Texto conteúdo message.setContent ("Bem-vindo ao meu blog CSDN Página inicial: http://blog.csdn.net/eson_15" + ", Momoda ~", "text/html; charset = utf-8"); // Endereço do anexo message.setFrom (new InternetAddress ("[email protected]")); Transporte de transporte = session.gettransport (); // Informações de certificação do Link Mail Server Transport.Connect ("Smtp.163.com", "Nishengwus", "xxxxx senha"); // Defina o endereço do destinatário e envie o email Transport.sendMessage (mensagem, new InternetAddress [] {new InternetAddress ("[email protected]")}); transport.close (); }}O exposto acima é o processo de envio de e -mails em Java: Crie uma sessão> Encapsular Informações de email> Definir endereço do remetente> Endereço do destinatário definir> Enviar.
2. Encapsular o envio da função de email
Depois de revisar o método de enviar e -mails da Java, encapsulamos esse processo em uma classe de ferramentas, criamos uma nova classe de implementação do emailutilimpl e a extraímos para a interface emailutil após a conclusão, como segue:
// a interface emailutil extraída interface pública emailutil {public abstrate void sendEmail (string emailaddress, string id);} // emailutilimpl cliente de email (Criar sessão de sessão) Propriedades Prop = new Properties (); Sessão session = null; Mensagem mensagem = null; Transporte de transporte = nulo; tente {Prop.SetProperty ("Mail.Transport.Protocol", "SMTP"); // Crie sessão session = session.getDefaultInstance (prop); // Defina o modo de depuração para depurar session session.setDebug (true); // Crie uma mensagem de objeto de email = new Mimemessage (sessão); // escreva uma mensagem de letra. // Texto conteúdo message.setContent ("Olá cliente, bem-vindo para visitar o shopping online, encomendar" + id + "pago com sucesso!", "Texto/html; charset = utf-8"); // Endereço de anexo message.setFrom (new InternetAddress ("[email protected]")); transporte = session.gettransport (); // Informações de autenticação do Link Mail Server Transport.Connect ("Smtp.sina.com", "Soft03_test", "Soft03_test"); // Defina o endereço do destinatário e envie o email Transport.sendMessage (mensagem, new InternetAddress [] {new InternetAddress (emailAddress)}); } catch (Exceção e) {e.printStackTrace (); lançar nova execução de tempo de execução (e); } finalmente {tente {transport.close (); } catch (MessagingException e) {E.PrintStackTrace (); lançar nova execução de tempo de execução (e); }}}3. Melhore o PayAction
Preencha o encapsulamento da classe de ferramentas. Em seguida, colocamos a classe de ferramentas em bases e a injetamos através da anotação @Resource para uso por ação. Abaixo, melhoraremos o método backbank () no PayAction anterior, como segue:
@Controller ("PayAction")@scope ("protótipo") public class PayAction estende o Baseaction <ject> implementa ParameterAware {// omitisse o código irrelevante ... public void backbank () {backdata backdata = (backdata) modelo; System.out.println (modelo); boolean isok = payService.checkbackdata (backdata); if (isok) {// 1. Atualizar o status do pedido, os parâmetros são transmitidos por si só de acordo com a situação no banco de dados e são usados para testar o ForderService.UpDatestatusbyId (Integer.valueof (201605006), 2); // 2. Envie email de acordo com o endereço de e -mail do usuário emailaddress = backdata.getR8_mp (). Split (",") [0]; emailutil.sendEmail (emailAddress, backdata.getR6_order ()); // 3. Enviar mensagens de texto do telefone celular, o próximo blog apresenta a função de enviar mensagens de texto System.out.println ("--- Sucesso !! ----"); } else {System.out.println ("---- FALSE !!! -----"); }}} Nas informações retornadas de Yibao, o parâmetro R6_Order salva o número do pedido e o parâmetro R8_MP é o email e o número de telefone do usuário. O primeiro é o endereço de e -mail e o segundo é o número de telefone, separado por vírgulas, então precisamos primeiro obter o endereço de e -mail do usuário e depois enviar o email. OK, a função de enviar e -mails ao usuário após a conclusão do pagamento é concluída.
Link original: http://blog.csdn.net/eson_15/article/details/51475046
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.