JavaMail通过SSL发送Email
public static int sendEmail2(String protocol, String auth, String ssl,
String port, String host, String user, String pwd,
String recipients[], String subject, String content, String from)
throws AddressException, MessagingException {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
// Get a Properties object
Properties props = System.getProperties();
if (ssl != null && ssl.equals("yes")) {
props.setProperty("mail.smtp.host", host);
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.port", "465");
} else {
props.put("mail.host", host);
props.put("mail.port", port);
}
if (auth != null && auth.equals("yes"))
props.put("mail.smtp.auth", "true");
else
props.put("mail.smtp.auth", "false");
final String username = user;
final String password = pwd;
Session session = Session.getDefaultInstance(props,
new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setJavaMailProperties(props);
MimeMessage mimeMessage = new MimeMessage(session);
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true,
"utf-8");
helper.setTo(recipients);
helper.setFrom(from);
helper.setSubject(subject);
helper.setText(content, true);
mailSender.setUsername(username);
mailSender.setPassword(password);
mailSender.send(mimeMessage);
System.out.println("Message sent.");
}