Heutzutage bieten viele Websites die Funktion der Benutzerregistrierung. Nachdem wir uns nach erfolgreicher Registrierung eine E -Mail von der registrierten Website erhalten haben. Der Inhalt der E -Mail kann Informationen wie unseren registrierten Benutzernamen und unser Passwort sowie einen Hyperlink zur Aktivierung des Kontos enthalten. Heute werden wir auch eine solche Funktion implementieren. Nach erfolgreicher Register der Benutzer werden die Registrierungsinformationen des Benutzers in Form einer E -Mail an die Registrierungs -E -Mail des Benutzers gesendet. Um die E -Mail -Sendungsfunktion zu erkennen, muss Javamail verwendet werden.
1. Aufbau einer Entwicklungsumgebung
1.1. Erstellen Sie ein Webprojekt
1.2. Benutzerregistrierung JSP -Seite
Register.jsp
<%@ page language="java" pageEncoding="UTF-"%><!DOCTYPE HTML><html><head><title>Register Page</title></head><body><form action="${pageContext.request.contextPath}/servlet/RegisterServlet" method="post">Username: <input type="text" name = "userername"> <br/> Kennwort: <Eingabe type = "password" name = "password"> <br/> E -Mail: <Eingabe typ1.3. Meldung Eingabeaufforderung
message.jsp
<%@ page Language = "java" pageCoding = "utf-"%> <! docType html> <html> <head> <titels> Meldung Eingabeaufforderung Seite </title> </head> <body> $ {message} </body> </html>2. Schreiben Sie ein Programm für Benutzerregistrierungsprogramme
2.1. Entwickeln Sie eine Domäne, die die Benutzerregistrierungsinformationen zusammenfasst
User.java
package me.gacl.domain;public class User {private String username;private String password;private String email;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getEmail() {return E -Mail;} public void setemail (String -E -Mail) {this.email = E -Mail;}}2.2. E -Mail -Sendungsfunktion schreiben
Das Senden von E-Mails ist eine sehr zeitaufwändige Sache. Hier finden Sie eine Thread-Klasse zum Senden von E-Mails
Paket me.gacl.web.controller; import Java.util.Properties; Import Javax.mail.Message; Import Javax.Mail @ClassName: sendmail* @Description: Der Sendmail -Klasse erbt Thread, sendmail ist also eine Thread -Klasse, die zum Senden von E -Mails an den angegebenen Benutzer* @Author: Garantie* @Date: - Nachmittag :: **/öffentliche Klasse Sendmail erweitert Thread {// Die E -Mail -Adresse, mit der E -Mail -Adresse an die E -Mail -Adresse an gesendet wird. "GaCl"; // Das Kennwort der E -Mail -Adresse privat String Passwort = "E -Mail -Passwort"; // Die Serveradresse des Senders private String host = "SMTP.sohu.com"; privater Benutzer Benutzer; public sendmail (Benutzerbenutzer) {this.user = user;}/* Die Implementierung der Auslaufmethode und Senden Sie E -Mails an die angegebene Benutzern in der Laufmethode. java.lang.thread#run ()*/@oversidepublic void run () {try {properties prop = new Properties (); prop.setProperty ("mail.host", host); prop.setProperty ("mail.transport.Protocol", "SMTP"; Session.getInstance (Prop); RunTimeException (e);}}/ *** @Method: createMail* @Description: Erstellen Sie die zugesandte E -Mail* @anthor: Lonely canglang ** @param session* @param user* @return* @Throws Exception*/ public message createmail (Sitzung, Session, Session, Session, Session). Message.SetFrom (neue InternetAtaddress (aus)); message.setRecipient (Message.RecipientType.to, New InternetAddress (user.getemail ())); Message.Setsubject ("Benutzerregistrierungs -E -Mail"); String info = "Herzlichen Glückwunsch zu Ihrer erfolgreichen Registrierung, Ihrem Benutzernamen:" + user.getUnername () + ", Ihr Passwort:" + user.getPassword () +, bitte behalten message.setContent (info, "text/html; charset = utf-"); message.savechanges (); Rückgabenachricht;}}2.3. Schreiben Sie ein Servlet, das die Benutzerregistrierung übernimmt
Paket me.gacl.web.controller; import Java.io.ioxception; import Javax.servlet.servletException; import Javax.servlet.http.httpserd; me.gacl.domain.user; import me.gacl.service.userservice; public class RegiterServlet erweitert httpServlet {public void dagget (httpServletRequest -Anforderung, httpServletResponse). Request.GetParameter ("Passwort"); String -E -Mail = Request.GetParameter ("E -Mail"); user user = new user (); user.setemail (E -Mail); User.setPassword (Passwort); user.Setusername (Benutzername); system.out.println ("Benutzerinformationen registrieren Sie Benutzerinformationen in der Datenbank. E-Mails sind eine sehr zeitaufwändige Aufgabe. Daher wird hier ein weiterer Thread geöffnet, um speziell E-Mails zu senden sendmail send = new sendmail (Benutzer); // den Thread starten. Nach dem Start des Threads wird die Ausführungsmethode zum Senden von E-Mails sendet (); // Register User // New Userservice (). Register (Benutzer). Wir haben eine E -Mail mit den Registrierungsinformationen gesendet. Bitte überprüfen Sie es. Wenn Sie es nicht erhalten, kann dies am Internet zurückzuführen sein. Sie erhalten es in einer Weile! ! "); Request.GetRequestDispatcher ("/message.jsp "). Forward (Request, Antwort);} catch (Ausnahme E) {E. printstacktrace (); request.setattribute (" message "," Register fehlgeschlagen !! "); Anfrage.GetRequestDispatcher ("/message.jspather. HttpServletResponse -Antwort) löst ServletException aus, ioException {dagget (request, response);}}Das Programm läuft wie folgt:
Viele Websites haben jetzt solche Funktionen. Nach Abschluss der Benutzerregistrierung sendet die Website uns eine E -Mail, die auf der E -Mail -Adresse basiert, die wir bei der Registrierung ausgefüllt haben, und klicken Sie dann auf den Hyperlink in der E -Mail, um unsere Benutzer zu aktivieren. So wird diese Funktion implementiert.
Wenn Sie die Verwendung von Javamail zum Senden von E -Mails zusammenfassen, wird festgestellt, dass Sie beim Senden von E -Mails an Sina oder die Postfächer von SOHU die E -Mails möglicherweise nicht sofort erhalten können. Es gibt immer eine Verzögerung, manchmal wird es lange verzögert und es wird sogar als Spam verarbeitet, oder Sie können sich einfach weigern, sie zu empfangen. Manchmal ist es hilflos, lange zu warten, um den erfolgreichen E -Mail -Sendeneffekt zu sehen.
Das obige ist der Beispielcode der vom Editor vorgelegten E -Mail -Funktion der Java -Mail, die Ihnen vom Editor vorgestellt wurde. Ich hoffe, es wird für alle hilfreich sein!