Dupliquer possible:
Comment envoyez-vous un email depuis une application Java en utilisant Gmail?
Comment envoyer un message SMTP à partir de Java?
Voici un exemple pour smtp Gmail:
import Java.io.*;
import Java.net.InetAddress;
import Java.util.Properties;
import Java.util.Date;
import javax.mail.*;
import javax.mail.internet.*;
import com.Sun.mail.smtp.*;
public class Distribution {
public static void main(String args[]) throws Exception {
Properties props = System.getProperties();
props.put("mail.smtps.Host","smtp.gmail.com");
props.put("mail.smtps.auth","true");
Session session = Session.getInstance(props, null);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("[email protected]"));;
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("[email protected]", false));
msg.setSubject("Heisann "+System.currentTimeMillis());
msg.setText("Med vennlig hilsennTov Are Jacobsen");
msg.setHeader("X-Mailer", "Tov Are's program");
msg.setSentDate(new Date());
SMTPTransport t =
(SMTPTransport)session.getTransport("smtps");
t.connect("smtp.gmail.com", "[email protected]", "<insert password here>");
t.sendMessage(msg, msg.getAllRecipients());
System.out.println("Response: " + t.getLastServerResponse());
t.close();
}
}
Maintenant, faites-le de cette façon uniquement si vous souhaitez minimiser les dépendances de votre projet, sinon je peux vous recommander vivement d'utiliser les classes d'Apache
http://commons.Apache.org/email/
Cordialement
Tov Are Jacobsen
Une autre méthode consiste à utiliser l’aspirine ( https://github.com/masukomi/aspirin ) comme ceci:
MailQue.queMail(MimeMessage message)
..après avoir construit votre message comme ci-dessus.
Aspirin est un serveur smtp, vous n'avez donc pas à le configurer. Notez cependant que l’envoi de courrier électronique à un large éventail de destinataires n’est pas aussi simple qu’il apparaît en raison des nombreuses règles de filtrage du courrier indésirable appliquées aux serveurs de messagerie et aux applications client.
S'il vous plaît voir ce post
Comment puis-je envoyer un email avec une application Java en utilisant GMail, Yahoo ou Hotmail?
Il est spécifique à Gmail, mais vous pouvez remplacer vos informations d'identification smtp.
Voir le API JavaMail et les javadocs associés.
Voir le tutoriel suivant sur les pratiques Java.
import javax.mail.*;
import javax.mail.internet.*;
import Java.util.*;
public void postMail(String recipients[], String subject,
String message , String from) throws MessagingException {
//Set the Host smtp address
Properties props = new Properties();
props.put("mail.smtp.Host", "smtp.jcom.net");
// create some properties and get the default Session
Session session = Session.getDefaultInstance(props, null);
session.setDebug(false);
// create a message
Message msg = new MimeMessage(session);
// set the from and to address
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++) {
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
// Optional : You can also set your custom headers in the Email if you Want
msg.addHeader("MyHeaderName", "myHeaderValue");
// Setting the Subject and Content Type
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}