Senden Sie E -Mails über Javamail als Referenz. Der spezifische Inhalt ist wie folgt
Hinweis: Einige Ports auf dem Server sind nicht geöffnet und müssen den Port öffnen. Einige E -Mail -Adressen müssen entsprechende Autorisierungsdienste aktivieren.
1.Maven -Abhängigkeiten:
<!-https://mvnrepository.com/artifact/javax.mail/javax.mail-api-> <deponcy> <Groupid> javax.mail > javax.mail </artifactid> </abhängig>
2. Erstellen Sie eine neue Entitätsklasse, um Informationen zu speichern
Import Java.util.Properties; öffentliche Klasse mailSenderInfo {// IP (oder Host -Adresse) des Servers, das die Mail private String mailserverhost sendet; // Port des Servers sendet die mail private string mailserverport; // Absender E -Mail -Adresse privater Zeichenfolge von Address; // Empfänger -E -Mail -Adresse private Zeichenfolge Toaddress; // Benutzername des Anmelde -E -Mail -Sendens Server Private String Benutzername; // Passwort des Anmelde -E -Mail -Sendens Server Private String Passwort; // Ob eine Authentifizierung erforderlich ist, private boolean validate = true; // E -Mail -Betreff privater Zeichenfolge Betreff; // Der Textinhalt des Inhalts des privaten Zeichens von E -Mails; // den Dateinamen der privaten Zeichenfolge des Mail -Anhangs [] Attemfilenamen; öffentliche Eigenschaften getProperties () {Eigenschaften p = neue Eigenschaften (); P.put ("mail.smtp.host", this.mailserverhost); P.put ("mail.smtp.port", this.mailserverport); // Legen Sie fest, ob Sie sicher überprüfen sollen, der Standard ist falsch und wird im Allgemeinen auf True festgelegt ("mail.smtp.Auth", "true"); P.put ("mail.smtp.starttls.enable", "true"); put ("mail.smtp.enablessl.enable", "true"); Rückkehr p; } public String getMailServerHost () {mailserverHost zurückgeben; } public void setMailServerHost (String mailserverhost) {this.mailServerHost = MailServerHost; } public String getMailServerport () {mailserverport return; } public void setMailServerport (String mailServerport) {this.mailserverport = mailServerport; } public boolean isvalidate () {return validate; } public void setvalidate (boolean validate) {this.validate = validate; } public String [] getattachFileNames () {return AttachFileNames; } public void setattachFileNames (String [] Dateinamen) {this.attachFileNames = Dateinamen; } public String getfromaddress () {return fromAddress; } public void setfromaddress (String fromAddress) {this.fromaddress = fromAddress; } public String getPassword () {Kennwort zurückgeben; } public void setPassword (String -Passwort) {this.password = password; } public String GetToaddress () {return toaddress; } public void settoaddress (String Toaddress) {this.toaddress = toaddress; } public String getUnername () {return userername; } public void setUnername (String -Benutzername) {this.username = userername; } public String getUntject () {return thema; } public void setSubject (String -Subjekt) {this.subject = Subjekt; } public String getContent () {return content; } public void setContent (String textContent) {this.content = textContent; }}3. Erstellen Sie einen Validator
import Javax.mail.Authenticator; Javax.Mail.PasswordAuthentication importieren; / *** Mail -Benutzername und Passwort Authenticator*/ öffentliche Klasse MyAuthenticator erweitert Authenticator {String username = null; String password = null; public myAuthenticator () {} public myAuthenticator (String -Benutzername, String -Passwort) {this.username = userername; this.Password = Passwort; } Protected PasswordAuthentication getPasswordAuthentication () {Neue PasswordAuthentication zurückgeben (Benutzername, Passwort); }} 4. Weisen Sie die Entitätsklasse beim Anruf den Wert zu
private void -E -Mail (httpSessionssitzung, String -E -Mail) {// Mail Server Information MailSenderInfo MailInfo = new MailSenderInfo (); MailInfo.setmailServerhost ("SMTP-Mail.outlook.com"); // Die IP (oder Host -Adresse) des Servers, der das MailInfo.SetmailServerport ("587") gesendet hat; // Einige Ports sind auf dem Server nicht geöffnet. Hier müssen Sie mailinfo.setValidate (true) achten. // E -Mail -Username (nach Ihrer eigenen Situation festlegen) Hier erhalten Sie ein paar weitere E -Mails, um das E -Mail -Konto zu vermeiden, das überprüft oder als Spam -Mail -Verbot behandelt wird. A verwendet nicht B -MailInfo.Setusername ("Füllen Sie die E -Mail aus, die dem obigen E -Mail -Server entspricht"); // E -Mail -Passwort (gemäß Ihrer eigenen Situation festlegen) MailInfo.setPassword ("Dies ist Ihr Passwort"); // Absender -E -Mail (gemäß Ihrer eigenen Situation festlegen. Wenn Sie die E -Mail nicht speziell festlegen, sollte es dem E -Mail -Benutzernamen gleich sein) MailInfo.setfromaddress ("Dies ist das gleiche wie das oben genannte"); // Empfänger -E -Mail (nach Ihrer eigenen Situation festgelegt) MailInfo.settoaddress (E -Mail); // E -Mail -Titel mailinfo.setsubject ("Ich bin der Titel"); // E -Mail -Inhalt mailinfo.setContent ("Ich bin der Inhalt, der ernsthafte Inhalt ist kein Spam"); // E -Mail SimpleMailSender SMS = new SimplemailSender (); // Textformat SMS.SendTextMail (MailInfo) senden; } 5. Dies ist die echte E -Mail -Sende
öffentliche Klasse SimpleMailSender {public boolean sendTextMail (MailSenderInfo MailInfo) {// Bestimmen Sie, ob die Identitätsauthentifizierung erforderlich ist, MyAuthenticator Authenticator = null; Properties pro = MailInfo.getProperties (); if (mailInfo.isvalidate ()) {// Wenn Identitätsauthentifizierung erforderlich ist, erstellen Sie einen Kennwort authenticator authenticator = new myAuthenticator (mailInfo.getUnername (), mailInfo.getPassword ()); } // eine Sitzungssitzung für das Senden von E -Mails basierend auf den E -Mail -Sitzungseigenschaften und dem Passwort authenticator sendmailSession = session.getDefaultInstance (Pro, Authenticator); Versuchen Sie {// Erstellen Sie eine E -Mail -Nachricht basierend auf Sitzungsnachricht MailMessage = new mimemessage (sendmailSession); // Erstellen Sie den Absender der Mail -Nachrichtenadresse bei = new InternetAddress (MailInfo.getfromaddress ()); // Setzen Sie den Absender der Mail -Nachricht MailMessage.setfrom (von); // Erstellen Sie die Empfängeradresse der Mail -Nachricht und setzen Sie sie auf die Mail -Nachrichtenadresse auf = new InternetAddress (mailInfo.gettoaddress ()); MailMessage.setRecipient (message.RecipientType.to, to); // Setzen Sie das Thema der Mail -Nachricht mailMessage.setsubject (mailInfo.getSubject ()); // Legen Sie die Zeit für das Senden der Mail -Nachricht mailMessage.setentDate (neuer Datum ()) fest; // Setzen Sie den Hauptinhalt der Mail -Meldungszeichenfolge mailcontent = mailinfo.getContent (); MailMessage.SetText (MailContent); MailMessage.Savechanges (); // mailTransport.send (MailMessage) senden; zurückkehren; } catch (MessagingException ex) {ex.printstacktrace (); } return false; }}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.