JavaMail : Envoyez des emails au moyen du SMTP de Gmail

Pré-requis : La librairie Javamail : http://www.oracle.com/technetwork/java/javamail/index-138643.html

Information sur le SMTP Gmail
Outgoing Mail (SMTP) Server
requires TLS or SSL: smtp.gmail.com (use authentication)
Use Authentication: Yes
Port for TLS/STARTTLS: 587
Port for SSL: 465
---
Premier exemple Javamail et TLS

package
com.mkyong.common;   import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage;   public class SendMailTLS {   public static void main(String[] args) { String host = "smtp.gmail.com"; int port = 587; String username = "username"; String password = "password";   Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true");   Session session = Session.getInstance(props);   try {   Message message = new MimeMessage(session); message.setFrom(new InternetAddress("from@isae.edu.lb")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("to@isae.edu.lb (ou ailleur)")); message.setSubject("Testing Subject"); message.setText("Dear Mail Crawler," + "\n\n No spam to my email, please!");   Transport transport = session.getTransport("smtp"); transport.connect(host, port, username, password);   Transport.send(message);   System.out.println("Done");   } catch (MessagingException e) { throw new RuntimeException(e); } } }

---
Java mail et SSL

package
com.mkyong.common;   import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage;   public class SendMailSSL { public static void main(String[] args) { Properties props = new Properties(); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.socketFactory.port", "465"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.port", "465");   Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("username","password"); } });   try {   Message message = new MimeMessage(session); message.setFrom(new InternetAddress("from@isae.edu.lb")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("to@isae.edu.lb (ou ailleur)")); message.setSubject("Testing Subject"); message.setText("Dear Mail Crawler," + "\n\n No spam to my email, please!");   Transport.send(message);   System.out.println("Done");   } catch (MessagingException e) { throw new RuntimeException(e); } } }

Comments