De nos jours, de nombreux sites Web offrent une fonction d'enregistrement des utilisateurs. Habituellement, après nous être inscrits avec succès, nous recevrons un e-mail du site Web enregistré. Le contenu de l'e-mail peut contenir des informations telles que notre nom d'utilisateur et notre mot de passe enregistrés, ainsi qu'un hyperlien pour activer le compte. Aujourd'hui, nous implémenterons également une telle fonction. Une fois que l'utilisateur s'est enregistré avec succès, les informations d'enregistrement de l'utilisateur seront envoyées à l'e-mail d'inscription de l'utilisateur sous la forme d'un e-mail. Pour réaliser la fonction d'e-mail d'envoi, Javamail doit être utilisé.
1. Construisez un environnement de développement
1.1. Créer un projet Web
1.2. Page JSP d'enregistrement des utilisateurs
registre.jsp
<% @ page Language = "Java" Pageencoding = "UTF -"%> <! DocType Html> <html> <A-Head> <Title> Page de registre </ Titit name = "username"> <br/> Mot de passe: <entrée type = "mot de passe" name = "mot de passe"> <br/> Email: <input type = "text" name = "email"> <br/> entrée type = "soumi" value = "registre"> </ form> </ body> </html>
1.3. Page d'invite de message
message.jsp
<% @ page Language = "Java" Pageencoding = "UTF -"%> <! DocType Html> <Html> <A-Head> <Title> Page d'invite de message </title> </ head> <body> $ {Message} </body> </html>2. Écrivez un programme de traitement d'enregistrement des utilisateurs
2.1. Développer un domaine qui résume les informations d'enregistrement des utilisateurs
User.java
package me.gacl.domain; public class user {private String username; private String Motword; private String e-mail; public String getUserName () {return username;} public void setUserName (String username) {this.userName = username;} public string getPassword () {return password;} public vid setPassword (String Motway) {this.password = wswonsword; {return e-mail;} public void setemail (chaîne e-mail) {this.email = email;}}2.2. Écrivez une fonction d'envoi d'e-mails
L'envoi de courriels est une chose très longue, alors voici une classe de fil pour envoyer des e-mails
package me.gacl.web.controller; import java.util.properties; importer javax.mail.message; import javax.mail.session; import javax.mail.transport; import javax.mail.internet.internetaddress; importer javax.mail.internet.mimemessage; import me.gacl.Domain.Usère; @Classname: sendmail * @description: La classe Sendmail héberge le thread, donc Sendmail est une classe de threads, qui est utilisée pour envoyer un e-mail à l'utilisateur spécifié * @Author: Guaror * @Date: - Afternoon :: ** classe publique Sendmail étend le thread {// l'adresse e-mail utilisée pour envoyer des e-mails à la chaîne privées d'utilisateurs de la chaîne de privilé "gacl"; // le mot de passe de l'adresse e-mail private String mot de passe = "Mot de passe e-mail"; // l'adresse du serveur de l'expéditeur private String host = "smtp.sohu.com"; utilisateur privé; public Sendmail (utilisateur utilisateur) {this.user = utilisateur;} / * réécrire la mise en œuvre de la méthode d'exécution et envoyer des e-mails à l'utilisateur spécifié dans la méthode d'exécution * @see java.lang.thread # run () * / @ OverRidepublic void run () {try {Properties prop = new Properties (); prop.setProperty ("Mail.host", host); prop.setproperty ("mail.transport.protoCol", "smtp"); session = session = "Mail.smtp Session.getInstance (Prop); sssion.setDebug (true); transport ts = session.getTransport (); ts.connect (hôte, nom d'utilisateur, mot de passe); message message = createMail (session, user); t.sendMessage (message, message.getAllRecipit RuntimeException (e);}} / *** @Method: CreateEmail * @Description: Créez l'e-mail à envoyer * @anthor: Lonely CANGLANG ** @Param Session * @param User * @ return * @throws exception * / public Message CreateMail (Session Session, utilisateur utilisateur) lance l'exception {mimeMessage Message = New MimeMessage (session); Message.setFrom (nouveau InternetAddress (From)); message.setReccipient (message.recipentType.to, new InternetAddress (user.getEmail ())); Message.SetSubject ("Email d'enregistrement des utilisateurs"); chaîne info = "Félicitations pour votre inscription réussie, votre nom d'utilisateur:" + user.getUserName () + ", votre mot de passe:" + user.getpassword () + ", veuillez le garder correctement. Si vous avez des questions, veuillez contacter le site Web du site Web Customer Service !!"; message.setContent (info, "text / html; charset = utf -"); message.saveChanges (); message de retour;}}2.3. Écrivez un servlet qui gère l'enregistrement des utilisateurs
package me.gacl.web.controller; import java.io.ioexception; import javax.servlet.servletException; import javax.servlet.http.httpservlet; import javax.servlet.http.httpleserReRester; me.gacl.domain.user; import me.gacl.service.UserService; public class RegisterServlet étend httpservlet {public void doget (httpservletRequest request, httpservletResponse réponse) lance servlexception, ioexception {try {string userName = request.getPara request.getParameter ("mot de passe"); chaîne e-mail = request.getParameter ("e-mail"); utilisateur utilisateur = new user (); user.setEmail (e-mail); user.setpassword (mot de passe); user.SetUserName (nom d'utilisateur); System.out.println ("Enregistrer les informations de l'utilisateur dans la base de données"); // après l'utilisateur Registers avec succès, envoyez un e-mail à l'utilisateur à utiliser la traite de message registres.//send e-mails est une tâche très longue, donc un autre thread est ouvert ici pour envoyer spécifiquement les e-mails Sendmail Send = new Sendmail (utilisateur); // démarrer le thread, et après le démarrage du thread, il exécutera la méthode d'exécution pour envoyer des e-mails Send.Start (); // Registre de l'utilisateur // newsService (). réussi. Nous avons envoyé un e-mail avec les informations d'inscription. Veuillez le vérifier. Si vous ne le recevez pas, cela peut être dû à Internet. Vous le recevrez depuis un moment! ! "); request.getRequestDispatcher (" / message.jsp "). HttpServletResponse Response) lève ServletException, ioException {doGet (demande, réponse);}}Le programme fonctionne comme suit:
De nombreux sites Web ont désormais de telles fonctions. Une fois l'inscription à l'utilisateur terminé, le site Web nous enverra un e-mail basé sur l'adresse e-mail que nous avons rempli lors de l'inscription, puis cliquez sur l'hyperlien dans l'e-mail pour activer nos utilisateurs. C'est ainsi que cette fonction est implémentée.
Lorsque vous résumez l'utilisation de Javamail pour envoyer des e-mails, il est constaté que lorsque vous envoyez des e-mails dans les boîtes aux lettres de Sina ou Sohu, vous ne pourrez peut-être pas recevoir les e-mails immédiatement. Il y a toujours un retard, parfois il sera retardé pendant longtemps, et il sera même traité comme du spam, ou vous pouvez simplement refuser de les recevoir. Parfois, il est impuissant d'attendre longtemps pour voir l'effet d'envoi de courrier électronique réussi.
Ce qui précède est l'exemple de code du courrier java qui envoie la fonction de messagerie qui vous est présenté par l'éditeur. J'espère que ce sera utile à tous!