private MimeMessage createMessage(String title, String content) {
Properties properties = System.getProperties();
properties.put(KEY_MAIL_HOST, VALUE_MAIL_HOST);
properties.put(KEY_MAIL_AUTH, VALUE_MAIL_AUTH);
SocketFactory ssf = javax.net.ssl.SSLSocketFactory.getDefault();
properties.put("mail.smtp.ssl.enable", "true");
properties.put("mail.smtp.ssl.socketFactory",ssf);
properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
// properties.put("mail.smtp.starttls.enable","true");
properties.put("mail.smtp.timeout", "25000");
// 开启debug调试
// properties.put("mail.debug", "true");
// 发送服务器需要身份验证
properties.put("mail.smtp.auth", "true");
// 设置邮件服务器主机名
properties.put("mail.host", "smtp.qq.com");
// 发送邮件协议名称
properties.put("mail.transport.protocol", "smtp");
properties.put("mail.smtp.port", "465");
properties.put("mail.smtp.socketFactory.port", "465");
properties.put("mail.smtp.ssl.enable", "true");
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
properties.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
Session session = Session.getInstance(properties, getAuthenticator());
// Session session = Session.getInstance(properties);
MimeMessage mimeMessage = new MimeMessage(session);
try {
mimeMessage.setFrom(new InternetAddress(SENDER_NAME));
InternetAddress[] addresses = new InternetAddress[] { new InternetAddress(SENDER_NAME)};
mimeMessage.setRecipients(Message.RecipientType.TO, addresses);
mimeMessage.setSubject(title);
MimeBodyPart textPart = new MimeBodyPart();
//textPart.setContent(content, "text/html");
// textPart.setContent(content, "text/html;charset=UTF-8");
textPart.setContent(content, "text/html;charset=gbk");
// textPart.setHeader("Content-Transfer-Encoding", "base64");
// textPart.setHeader("Content-Transfer-Encoding", "quoted-printable");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(textPart);
// mimeMessage.setHeader( "Content-Transfer-Encoding", "base64" );
// mimeMessage.setHeader("Content-Transfer-Encoding", "quoted-printable");
mimeMessage.setContent(multipart);
mimeMessage.setSentDate(new Date());
} catch (MessagingException e) {
e.printStackTrace();
}
return mimeMessage;
}
网友评论