L'API Javamail définit une classe java.mail.transport, qui est spécifiquement utilisée pour effectuer des tâches d'envoi de courrier. L'objet d'instance de cette classe résume les détails d'implémentation sous-jacents d'un certain protocole d'envoi de courrier. L'application appelle les méthodes de cette classe pour envoyer les données de messagerie encapsulées dans l'objet Message au serveur SMTP spécifié. La relation de travail entre les API principales conçues pour envoyer du courrier à l'aide de Javamail est la suivante:
1. Obtenez un objet de transport qui met en œuvre un certain protocole d'envoi d'e-mail à partir de l'objet de session;
2. Utilisez l'objet de session pour créer un objet de message et appelez la méthode de l'objet de message pour encapsuler les données de messagerie;
3. Connectez-vous au serveur SMTP spécifié et appelez la méthode d'envoi du courrier dans l'objet de transport pour encapsuler les données de messagerie dans l'objet Message.
Dans le deuxième article sur la création de courriels dans Javamail, nous avons appris à créer des e-mails, mais à ce moment-là, nous avons écrit les e-mails à notre disque local. Ensuite, nous avons utilisé la classe de transport fournie par l'API Javamail pour envoyer des e-mails.
Importer java.util.date; import java.util.properties; import javax.mail.message; import javax.mail.session; importer javax.mail.transport; import javax.mail.internet.internetAddress; import javax.mail.internet.mimessem; lance une exception {chaîne de = "[email protected]"; Chaîne à = "[email protected]"; String sujet = "test"; String body = "test !!!"; String smtphost = "smtp.qq.com"; Properties props = news properties (); props.setProperty ("mail.transport.protocol", "smtp"); // protocole utilisé (requis par Javamail Specification) props.setProperty ("mail.smtp.host", smtphost); // L'adresse du serveur SMTP de la boîte aux lettres de l'expéditeur est PropS.SetProperty ("mail.smtp.auth", "true"); // Demande l'authentification, le nom du paramètre est lié à l'implémentation spécifique // Créer une session d'instance de session Session Session = session.getDefaultInstance (accessoires); // Créer un message d'instance mimeMessage MimEMessage Message = new MimeMessage (session); // Définir Message.SetFrom (new InternetAddress (From)); // Définir le destinataire Message.SetRcipients (message.recipentType.to, InternetAddress.Parse (TO)); // Définir la date d'envoi Message.SeSentDate (new Date ()); // Définir le message par e-mail Message.SetSubject (sujet); // Définissez le Courrier Message.SeTTeTXt (corps); // Définir Message de contenu en texte brut.setText (corps); // Enregistrer et générer le message de contenu e-mail final.SaveChanges (); // Défini sur le mode de débogage, vous pouvez afficher le journal d'envoi détaillé Session.SetDebug (true); // Obtenez le transport d'objet de transport Transport = Session.getTransport ("SMTP"); // Le deuxième paramètre doit être rempli dans le code d'autorisation SMTP de la boîte aux lettres QQ. Quel est le code d'autorisation et comment est-il défini? transport.connect (de, "******************"); // Envoyer, message.getAllrecipients () obtient tous les destinataires ajoutés lors de la création de l'objet mail, CC et Envoi Message (message, message.getAllrecipients ()); transport.close (); }}Remarque: Le service SMTP doit être activé pour le compte de messagerie.
L'envoi de codes postaux complexes avec des ressources ou des pièces jointes intégrés est similaire à ceux du deuxième article de Javamail pour créer des e-mails, sauf que les étapes à écrire sur le disque dur sont remplacées par les lignes 42-47 dans le code ci-dessus.
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.