Lorsque l'utilisateur a acheté le produit, nous devons envoyer un e-mail à l'utilisateur pour lui dire que la commande a été générée et que l'adresse e-mail est obtenue à partir des informations de base de l'utilisateur. D'accord, examinons d'abord la méthode d'envoi de courriels en Java.
1. Méthodes pour envoyer des e-mails en java
Avant d'améliorer ce projet, passons d'abord comment les e-mails sont envoyés dans Java. Tout d'abord, vous devez envoyer des e-mails: Mail.jar, importez-les dans le répertoire Lib. D'accord, écrivons un programme Java ordinaire pour revoir les points de connaissance de Java Email:
classe publique SendEmaildemo {public static void main (String [] args) lève une exception {// 1. Connectez-vous au client de messagerie (création de session) Propriétés Prop = new Properties (); Prop.SetProperty ("Mail.transport.protocol", "SMTP"); // Créer la session de session session session session = session.getDefaultInstance (prop); // Définissez le mode de débogage pour déboguer Envoyer Session.SetDebug (true); // Créer un message d'objet e-mail Message = new MimeMessage (session); // Écrivez une lettre Message.SetSubject ("Bienvenue sur ma page d'accueil du blog CSDN!"); // Texte Message de contenu.SetContent ("Bienvenue sur ma page d'accueil du blog CSDN: http://blog.csdn.net/eson_15" + ", momoda ~", "text / html; charset = utf-8"); // Adresse de l'attachement Message.SetFrom (nouveau InternetAddress ("[email protected]")); Transport Transport = Session.getTransport (); // Informations de certification du serveur de messagerie Link Transport.Connect ("SMTP.163.com", "Nishengwus", "Mot de passe xxxxx"); // Définissez l'adresse du destinataire et envoyez le e-mail Transport.SendMessage (message, nouveau InternetAddress [] {new InternetAddress ("[email protected]")}); transport.close (); }}Ce qui précède est le processus d'envoi d'e-mails en Java: Créez une session> Insulez les informations de messagerie> Définir l'adresse de l'expéditeur> Définir l'adresse du destinataire> Envoyer.
2. Encapsuler la fonction de courrier envoyé
Après avoir examiné la méthode d'envoi d'e-mails de Java, nous encapsulons ce processus dans une classe d'outils, créons une nouvelle classe d'implémentation par e-mail et l'extraitz-la dans l'interface e-mail après l'achèvement, comme suit:
// L'interface envoyée par e-mail extraite Interface publique EmailUtil {public abstract void Sendemail (String e-mailAddress, String id);} // e-mail implémentation class @component ("e-mail") Classe publique EmailLutilimpl implémente EmailUtil {// paramètres de la clientèle. les propriétés du client de messagerie (création de session) Prop = new Properties (); Session Session = NULL; Message message = null; Transport de transport = null; essayez {prop.setProperty ("mail.transport.protocol", "smtp"); // Créer ses session session = session.getDefaultInstance (Prop); // Définissez le mode de débogage pour déboguer Envoyer Session.SetDebug (true); // Créer un message d'objet e-mail = new MimeMessage (session); // Écrivez une lettre Message.SetSubject ("Feedback en ligne des commandes du centre commercial"); // Message de contenu texte.SetContent ("Hello Client, bienvenue pour visiter le centre commercial en ligne, commander" + id + "Payé avec succès!", "Text / HTML; CARSHET = UTF-8"); // Adresse de pièce jointe Message.SetFrom (new InternetAddress ("[email protected]")); transport = session.getTransport (); // Informations d'authentification du serveur de messagerie Link Transport.Connect ("smtp.sina.com", "soft03_test", "soft03_test"); // Définissez l'adresse du destinataire et envoyez le e-mail Transport.SendMessage (message, nouveau InternetAddress [] {new InternetAddress (emailAddress)}); } catch (exception e) {e.printStackTrace (); Jetez une nouvelle RuntimeException (E); } enfin {try {transport.close (); } catch (MessageSingException e) {e.printStackTrace (); Jetez une nouvelle RuntimeException (E); }}}3. Améliorer PayAction
Complétez l'encapsulation de la classe d'outils. Ensuite, nous mettons la classe d'outils dans BaseAction et l'injectons par l'annotation @Resource pour une utilisation par action. Ci-dessous, nous améliorerons la méthode Backbank () dans la précédente PayAction, comme suit:
@Controller ("PayAction") @ Scope ("Prototype") Public Class PayAction étend Baseaction <Bject> implémente ParameterAware {// OMIT Code non pertinent ... Modèle publique void Backbank () {backdata backdata = (backdata) modèle; System.out.println (modèle); booléen isok = payservice.checkbackData (backdata); if (isOK) {// 1. Mettez à jour l'état de la commande, les paramètres sont transmis par lui-même en fonction de la situation dans la base de données et sont utilisés pour tester Forderservice.UpDateStatusById (Integer.Valueof (201605006), 2); // 2. Envoyer un e-mail en fonction de l'adresse e-mail de l'utilisateur String EmailAddress = backdata.getr8_mp (). Split (",") [0]; CourrielUtil.Sendemail (EmailAddress, backdata.getr6_order ()); // 3. Envoyer des messages texte de téléphone mobile, le blog suivant présente la fonction de l'envoi de messages texte System.out.println ("--- Success !! ----"); } else {System.out.println ("---- false !!! -----"); }}} Dans les informations renvoyées de Yibao, le paramètre R6_Order enregistre le numéro de commande et le paramètre R8_MP est l'e-mail et le numéro de téléphone de l'utilisateur. Le premier est l'adresse e-mail et le second est le numéro de téléphone, séparé par des virgules, nous devons donc d'abord obtenir l'adresse e-mail de l'utilisateur, puis envoyer l'e-mail. OK, la fonction d'envoi de courriels à l'utilisateur une fois le paiement terminé est terminée.
Lien original: http://blog.csdn.net/eson_15/article/details/51475046
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.