Le courrier électronique est dans la vie quotidienne. Cet article présente principalement la méthode de Java d'envoi de courriels basés sur SMTP. Il analyse les compétences pertinentes des e-mails d'envoi de Java basés sur le service SMTP. Il a une certaine valeur de référence. Les amis qui en ont besoin peuvent y faire référence.
1. Écrivez une classe MailSendProper pour encapsuler les propriétés requises
import java.util.properties; public class mailSendProper {private String host; // Port de chaîne privée IP du serveur de messagerie d'envoi; // Numéro de port de la chaîne privée du serveur de messagerie d'envoi SendAddress; // Adresse du courrier de l'expéditeur Private String ReceiveAddress; // Nom d'utilisateur de chaîne privée du destinataire du courrier; // Connectez-vous à l'envoi du nom d'utilisateur de la boîte aux lettres; // Connectez-vous à l'envoi de mot de passe des lettres de la boîte aux lettres privé booléen isvalidate = true; // si l'authentification est requise en matière de chaîne privée; // Envoyez un e-mail au contenu de la chaîne privée; // Courriel Contenu public String getSubject () {return sujet; } public void setSubject (String Subject) {this.subject = sujet; } public String getContent () {return Content; } public void setContent (String Content) {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 getSendAddress () {return SendAddress; } public void setSendAddress (String SendAddress) {SendAddress = SendAddress; } public String getReceIveAddress () {return receiveaddress; } public void setReceIveAddress (String ReceiveAddress) {receiveAddress = receiveAddress; } public String getUserName () {return username; } public void setUsername (String username) {this.userName = username; } public String getPassword () {return mot de passe; } public void setPassword (String Motword) {this.password = mot de passe; } public boolean isisvalidate () {return isValidate; } public void setIsvalidate (boolean isvalidate) {this.isvalidate = isvalidate; } Propriétés publiques getProperties () {Properties Properties = new Properties (); Properties.put ("mail.smtp.host", this.host); Properties.put ("mail.smtp.port", this.port); Properties.put ("mail.smtp.auth", isValidate? "true": "false"); les propriétés de retour; }}2. Écrivez un e-mail pour encapsule les informations d'envoi
classe publique EmailMessage {Titre de la chaîne privée; Contexte de chaîne privée; String privé ToEmail; public EmailMessage () {super (); } public EmailMessage (titre de chaîne, contexte de chaîne, chaîne 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 context) {this.context = context; } public String getToEmail () {return toEmail; } public void setToEmail (String toEmail) {this.toemail = toEmail; }}3. Écrivez une classe de vérificateur de mot de passe e-mail Mailattorney
Importer javax.mail.authenticator; import javax.mail.passwordAuthentication; public class MailAttorney étend Authenticator {Private String Username; mot de passe de chaîne privé; public MailAtTorney (String Username, String Motword) {this.Username = username; this.password = mot de passe; } // Override Protected PasswordAuthentication GetPasswordAuthentication () {return new PasswordAuthentication (nom d'utilisateur, mot de passe); }}4. Écrivez une classe d'outils MailSend Mail
Importer java.util.date; import javax.mail.address; import javax.mail.message; import javax.mail.session; importer javax.mail.transport; import javax.mail.internet.internetAddress; import javax.mail.internet.mimessessage; import com.vtbbs.entity.embermesage; {public static boolean MailTest (MailSendProper MailSender) {Mailattorney Attorney = NULL; if (MailSender.isisValidate ()) {// Déterminez si l'authentification d'identité est requise avocat = new Mailattorney (MailSender.getUsername (), MailSender.getPassword ())); } // Construisez une session de session de visualisation pour l'envoi de boîte aux lettres en fonction des attributs de session de boîte aux lettres et du validateur de mot de passe. Session session = session.getInstance (mailSender.getProperties (), avocat); // Créer un message mail basé sur le message de session MailMessage = new MimeMessage (session); Essayez {// Créez l'adresse de l'expéditeur de l'adresse de la boîte aux lettres à partir de = new InternetAddress (mailSender.getSendAddress ()); // Définissez l'expéditeur de la boîte aux lettres Message MailMessage.SetFrom (From); // Créez l'adresse pour recevoir cela du message du courrier et définissez-le sur l'adresse du message du courrier sur = new InternetAddress (mailSender.getReceIveAddress ()); MAINMESSAGE.SETRICIPIENT (Message.RecipentType.to, TO); MAINMESSAGE.SETSUSBject (MailSender.getSubject ()); // Définissez le titre de courrier MailMessage.SentDate (new Date ()); // Définissez le temps d'envoi MailMessage.SeTText (MailSender.getContent ()); // Définissez le Mail Content Transport.Send (MailMessage); Retour Vrai; } catch (exception e) {e.printStackTrace (); retourne false; }} public static boolean SendEmail (message emailMessage) {MailSendProper Mail = new MailSendProper (); Mail.Sethost ("SMTP.126.com"); // Protocole de transmission de courrier simple de SMTP, le numéro de port par défaut est de 25, Mail.Setport ("25"); Mail.setIsValidate (true); // nécessite une authentification Mail.SetUsername (""); // Définissez le nom d'utilisateur de connexion Mail.SetPassword (""); // Définissez le mot de passe de l'expéditeur Mail.SetSendAddress (""); // Définissez l'adresse de l'envoi de cet expéditeur et le nom d'utilisateur de connexion est le même mail.SetReceIveAddress (message.getToEmail ()); // Définissez l'adresse du destinataire Mail.SetSubject (message.GetTitle ()); // Définissez le titre de boîte aux lettres Mail.SetContent (message.getContext ()); // Définissez le contenu de la boîte aux lettres Retour MailTest (Mail); }}Remarque: L'adresse e-mail utilisée doit être activée pour que le service POP3 / SMTP soit envoyé avec succès. Différentes adresses e-mail et adresses e-mail ont différents protocoles de transmission, tels que:
Courriel QQ: le protocole de transmission SMTP est SMTP.QQ.com Port 25
Le protocole de transmission POP3 est le port POP3.qq.com
5. Utiliser le test de la méthode
public static void main (String [] args) {e-mail message = new e-mailMessage (); String code = String.ValueOf (math.random ()). Substring (3, 9); // Générer le code de vérification Message.SetTitle ("Vérification des e-mails"); // Email Title Message.SetContext ("Bonjour, cher utilisateur, votre code de vérification est" + code + "."); // Envoyer un e-mail à messages de contenu.setToEmail ("[email protected]"); // Qui envoyer à System.out.println (MailSend.Sendemail (Message)? "SendSuccess": "Sendfailed");}J'espère que cet article sera utile à tout le monde d'apprendre la programmation Java.