E -Mail ist im täglichen Leben. In diesem Artikel wird hauptsächlich die Methode von Java vorgestellt, E -Mails basierend auf SMTP zu senden. Es analysiert die relevanten Fähigkeiten von Javas Senden -E -Mails basierend auf dem SMTP -Dienst. Es hat einen bestimmten Referenzwert. Freunde, die es brauchen, können sich darauf beziehen.
1. Schreiben Sie eine MailSendProper -Klasse, um die erforderlichen Eigenschaften zu verkörpern
Import Java.util.Properties; öffentliche Klasse mailSendproper {private String -Host; // IP Private String -Port des Senden -Mailservers; // Portnummer des Sendens des Mailservers private String sendAddress; // E -Mail -Absender -Adresse private Zeichenfolge Receiveaddress; // E -Mail -Empfänger -Adresse privater String -Benutzername; // melden Sie sich beim Senden von Mailbox -Benutzernamen an. // melden Sie sich beim Senden von Mailbox -Passwort privat boolean isvalidate = true an; // Ob eine Authentifizierung erforderlich ist, private String -Betreff; // E -Mail -Title Private Zeichenfolge Inhalt; // E -Mail -Inhalt public String getubject () {Rückgabe -Betreff; } public void setSubject (String -Subjekt) {this.subject = Subjekt; } public String getContent () {return content; } public void setContent (String -Inhalt) {this.content = content; } public String gethost () {return host; } public void Sethost (String Host) {host = host; } public String getPort () {return port; } public void setport (String -Port) {port = port; } public String getendAddress () {return sendAddress; } public void setSendAddress (String sendAddress) {sendAddress = sendAddress; } public String getReceReaddress () {return receiveaddress; } public void setReceReaddress (String receiveaddress) {receireaddress = receireaddress; } public String getUnername () {return userername; } public void setUnername (String -Benutzername) {this.username = userername; } public String getPassword () {Kennwort zurückgeben; } public void setPassword (String -Passwort) {this.password = password; } public boolean isisvalidate () {return isvalidat; } public void setisvalidat (boolean isvalidat) {this.isvalidat = isvalidat; } öffentliche Eigenschaften getProperties () {Properties Properties = neue Eigenschaften (); Properties.put ("mail.smtp.host", this.host); Properties.put ("mail.smtp.port", this.port); Properties.put ("mail.smtp.auth", isvalidat? "Richtig": "false"); Rückgabeeigenschaften; }}2. Schreiben Sie eine E -Mail -Form
public class EmailMessage {private String -Titel; privater String -Kontext; private String toemail; public mailMessage () {super (); } public EmailMessage (String -Titel, String -Kontext, String toemail) {super (); this.title = title; this.context = context; this.toemail = toemail; } public String gettitle () {return title; } public void settitle (String title) {this.title = title; } public String getContext () {return context; } public void setContext (String -Kontext) {this.context = context; } public String gettoemail () {return toemail; } public void setToemail (String toemail) {this.toemail = toemail; }}3. Schreiben Sie eine Mailattorney -E -Mail -Passwort -Überprüfungsklasse
Javax.mail.Authenticator importieren Javax.Mail.Mail.PasswordAuthentication; öffentliche Klasse mailattorney erweitert den Authenticator {private String -Benutzername; privates Zeichenfolgenkennwort; public Mailattorney (String -Benutzername, String -Passwort) {this.username = userername; this.Password = Passwort; } // Überschreibe geschützte Passwortauthentifizierung getPasswordAuthentication () {Neue PasswordAuthentication (Benutzername, Passwort); }}4. Schreiben Sie eine MailSend -Mail -Toolklasse
import Java.util.date; import Javax.mail.address; import Javax.mail.message; Import Javax.mail.Session; {public static boolean mailtest (MailSendproper MailSender) {Mailattorney attorney = null; if (mailSender.isvalidate ()) {// Bestimmen Sie, ob Identitätsauthentifizierung erforderlich ist, attorney = new mailattorney (mailsender.getusername (), mailsender.getPassword ()); } // Erstellen Sie eine Ansichtssitzung für das Senden von Mailbox basierend auf den Mailbox -Sitzungsattributen und zum Passwort -Validator. Session Session = Session.getInstance (mailsender.getProperties (), Anwalt); // Erstellen Sie eine E -Mail -Nachricht basierend auf der Sitzungsnachricht MailMessage = new mimemessage (Sitzung); Versuchen Sie {// Erstellen Sie die Adresse des Absenders der Mailbox -Adresse von = new InternetAddress (MailSender.getSendAddress ()); // Setzen Sie den Absender der Mailbox -Nachricht MailMessage.setfrom (von); // Erstellen Sie die Adresse, um diese aus der Mail -Nachricht zu erhalten, und setzen Sie sie auf die Mail -Nachrichtenadresse auf = new InternetAddress (mailSender.getReceReaddress ()); MailMessage.setRecipient (message.RecipientType.to, to); MailMessage.Setsubject (MailSender.getSubject ()); // Setzen Sie den Mail -Titel mailMessage.setentDate (neuer Datum ()); // Setzen Sie die Sendenzeit mailMessage.setText (mailsender.getContent ()); // Setzen Sie den Mail -Inhalt transport.send (MailMessage); zurückkehren; } catch (Ausnahme e) {e.printstacktrace (); false zurückgeben; }} public static boolean sendEmail (E -MailMessage -Nachricht) {mailSendproper mail = new MailSendproper (); mail.sethost ("SMTP.126.com"); // Die einfache E -Mail -Übertragungs -Protokoll von SMTP ist 25, mail.setport ("25"); mail.setIsvalidate (true); // Authentifizierung mail.setusername ("") erfordern; // Setzen Sie den Login -Benutzernamen mail.setPassword (""); // Setzen Sie das Passwort des Absenders mail.setsendaddress (""); // Setzen Sie die Adresse des Sendens dieses Absenders und der Anmeldebername sind dieselben Mail.setReceReaddress (message.gettoemail ()); // Setzen Sie die Adresse des Empfängers mail.setsubject (message.gettitle ()); // Setzen Sie den Mailbox -Titel mail.setContent (message.getContext ()); // Setzen Sie den Inhalt des Mailboxs zurück -Mailtest (Mail); }}Hinweis: Die verwendete E -Mail -Adresse muss aktiviert sein, damit POP3/SMTP -Dienst erfolgreich gesendet werden kann. Unterschiedliche E -Mail -Adressen und E -Mail -Adressen haben unterschiedliche Übertragungsprotokolle, wie z. B.:
QQ -E -Mail: SMTP -Übertragungsprotokoll ist SMTP.qq.com Port 25
Das POP3 -Transmissionsprotokoll ist POP3.QQ.com Port 110
5. Methode -Test verwenden
public static void main (String [] args) {EmailMessage Message = new EmailMessage (); String code = string.ValueOf (math.random ()). Substring (3, 9); // Verifizierungscode -Nachricht generieren. Settitle ("E -Mail -Überprüfung"); // E -Mail -Title Message.setContext ("Hallo, lieber Benutzer, Ihr Verifizierungscode ist"+Code+". // Inhaltsnachricht senden. // Wen an system.out.println (mailsend.sendemail (meldung)? "SendSuccess": "sendFailed") senden;};};Ich hoffe, dieser Artikel wird für alle hilfreich sein, um Java -Programme zu lernen.