Envoyez des e-mails via Javamail pour votre référence. Le contenu spécifique est le suivant
Remarque: Certains ports du serveur ne sont pas ouverts et doivent ouvrir le port. Certaines adresses e-mail doivent activer les services d'autorisation correspondants.
1. Dépendances de maven:
<! - https://mvnrepository.com/artifact/javax.mail/javax.mail-api -> <dependency> <proupId> javax.mail </ groupeid> <ptefactid> mail </ artifactid> <version> 1.4.5 </ version> </pedency> <petency> <proupId> com.sun.mail </ groupid> <artIFACT> > javax.mail </arfactive> </dependency>
2. Créez une nouvelle classe d'entité pour enregistrer des informations
import java.util.properties; classe publique MailSenSenSinfo {// IP (ou adresse hôte) du serveur envoyant le courrier privé MailServerHost; // Port du serveur envoyant la chaîne privée Mail MailServerport; // Adresse e-mail de l'expéditeur String privé FromAddress; // Adresse e-mail du destinataire Toaddress Private String; // nom d'utilisateur du nom d'utilisateur de la chaîne privée envoyant le serveur de connexion; // Mot de passe de l'e-mail de connexion envoyant un mot de passe de chaîne privée du serveur; // si l'authentification est requise privée booléenne valide = true; // Envoyez un e-mail à la chaîne privée Sujet; // le contenu texte du contenu de chaîne privée de courrier; // le nom de fichier de la chaîne privée de pièce jointe par courrier [] attachFileNames; Propriétés publiques getProperties () {Properties p = new Properties (); p.put ("mail.smtp.host", this.mailServerHost); p.put ("mail.smtp.port", this.mailServerport); // Définissez s'il faut vérifier en toute sécurité, la valeur par défaut est fausse, et elle est définie sur true en général p.put ("mail.smtp.auth", "true"); p.put ("mail.smtp.starttls.enable", "true"); p.put ("mail.smtp.enablessl.enable", "true"); Retour p; } public String getmailServerHost () {return MailServerHost; } public void setMailServerHost (String MailServerHost) {this.mailServerHost = MailServerHost; } public String getmailServerport () {return MailServerport; } public void SetMailServerport (String MailServerport) {this.mailServerport = MailServerport; } public boolean isValidate () {return validate; } public void setValidate (boolean valide) {this.validate = valider; } public String [] getAttachFileNames () {return attachFileNames; } public void setAttachFileNames (String [] fileNames) {this.attachFileNames = fileNames; } public String getFromAddress () {return fromAddress; } public void setFromAddress (String FromAddress) {this.fromAddress = FromAddress; } public String getPassword () {return mot de passe; } public void setPassword (String Motword) {this.password = mot de passe; } public String getToAddress () {return toAddress; } public void setToAddress (String toaddress) {this.toaddress = toaddress; } public String getUserName () {return username; } public void setUsername (String username) {this.userName = username; } public String getSubject () {return sujet; } public void setSubject (String Subject) {this.subject = sujet; } public String getContent () {return Content; } public void setContent (chaîne textContent) {this.Content = textContent; }}3. Créez un validateur
import javax.mail.authenticator; Importer javax.mail.passwordAuthentication; / ** * MAIL USERNAME et Mot de passe Authenticator * / public class MyAuthenticator étend Authenticator {String username = null; Chaîne mot de passe = null; public myAuthenticator () {} public myAuthenticator (String username, String Motway) {this.userName = username; this.password = mot de passe; } Protected PasswordAuthentication GetPasswordAuthentication () {return new PasswordAuthentication (nom d'utilisateur, mot de passe); }} 4. attribuer une valeur à la classe d'entité à l'appel
Email void privé (session httpSession, courriel de chaîne) {// set le serveur de courrier Informations MailSenSenSinfo MailInfo = new MailSenSenSinfo (); MailInfo.setmailServerHost ("smtp-chail.outlook.com"); // L'IP (ou l'adresse hôte) du serveur qui a envoyé le courrier mailInfo.setmailServerport ("587"); // Certains ports ne sont pas ouverts sur le serveur. Ici, vous devez prêter attention à MailInfo.SetValidate (true); // Nom d'utilisateur par e-mail (défini selon votre propre situation) Ici, vous pouvez recevoir quelques e-mails supplémentaires pour éviter le compte de messagerie nécessitant une vérification ou être traité comme une interdiction de courrier spam. A ne parvient pas à utiliser B MailInfo.SetUserName ("Remplissez l'e-mail correspondant au serveur de messagerie ci-dessus"); // Mot de passe par e-mail (définir en fonction de votre propre situation) MailInfo.Setpassword ("Ceci est votre mot de passe"); // Email de l'expéditeur (Définissez en fonction de votre propre situation. Si vous ne définissez pas l'e-mail spécifiquement, cela devrait être le même que le nom d'utilisateur de l'e-mail) MailInfo.setFromAddress ("C'est la même chose que ce qui précède"); // Email du destinataire (Définir en fonction de votre propre situation) MailInfo.SetToAddress (e-mail); // Envoyez un e-mail à MailInfo.SetSubject ("Je suis le titre"); // contenu par e-mail mailinfo.setContent ("Je suis le contenu, le contenu sérieux n'est pas un spam"); // Envoyer un e-mail SimpleMailSender sms = new SimpleMailSender (); // Envoyer le format texte sms.sendTextMail (MailInfo); } 5. C'est le véritable e-mail qui envoie
classe publique SimpleMailSender {public boolean sendTextMail (MailSenderInfo Mailinfo) {// Déterminez si l'authentification d'identité est requise MyAuthenticator authenticator = null; Propriétés Pro = MailInfo.getProperties (); if (mailInfo.isvalidate ()) {// Si l'authentification d'identité est requise, créez un mot de passe authenticatrice authenticatrice = new MyAuthenticator (MailInfo.GetUserName (), MailInfo.GetPassword ()); } // Construisez une session de session pour envoyer des courriers en fonction des propriétés de session de messagerie et de l'authentificateur de mot de passe SendMailSession = session.getDefaultInstance (pro, authenticatrice); Essayez {// Créez un message de messagerie basé sur le message de session MailMessage = new MimeMessage (SendMailSession); // Créer l'expéditeur de l'adresse du message du courrier à partir de = new InternetAddress (mailInfo.getFromAddress ()); // Définissez l'expéditeur du message Message MailMessage.setFrom (From); // Créez l'adresse du destinataire du message de messagerie et définissez-le sur l'adresse du message du courrier sur = new InternetAddress (MailInfo.getToAddress ()); MAINMESSAGE.SETRICIPIENT (Message.RecipentType.to, TO); // Définissez le sujet du message Message MailMessage.SetSubject (MailInfo.getSubject ()); // Définissez l'heure de l'envoi du message de messagerie MailMessage.SeSentDate (new Date ()); // Définissez le contenu principal de la chaîne de message de messagerie MailContent = MailInfo.getContent (); MAINMESSAGE.SETTEXT (MailContent); MAINMESSAGE.SAVECHANGES (); // Envoyer MailTransport.Send (MailMessage); Retour Vrai; } catch (MessageSingException ex) {ex.printStackTrace (); } return false; }}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.