关于javaMail发送邮件的详细教程可以看Java 发送邮件(菜鸟教程)本文的基础代码也来自这里。
关于实现的效果图如下
Snipaste_2020-03-25_18-05-06.png
在网上看到有说发送QQ邮箱需要添加SSL加密的代码
// 关于QQ邮箱,还要设置SSL加密,加上以下代码即可
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.ssl.socketFactory", sf);
但在测试的时候发现不用开启SSL加密也能发送成功。
如何添加多个收件人
InternetAddress[] addArr = null;
// 设置收件人
addArr = new InternetAddress[toList.size()];
for (int i = 0; i < toList.size(); i++) {
String mailtoString = (String) toList.get(i);
addArr[i] = new InternetAddress(mailtoString);
}
message.setRecipients(Message.RecipientType.TO, addArr); // 设置收件人地址
抄送人和密送人类似,更改Message.RecipientType.TO为Message.RecipientType.CC(抄送)和Message.RecipientType.BCC(密送即可)
如何发送附件
需要在创建MimeMessage对象后
// 创建默认的 MimeMessage 对象
MimeMessage message = new MimeMessage(session);
设置消息体的文件数据
代码如下
// 带有附件的邮件发送
MimeMultipart multi = new MimeMultipart();
BodyPart bodyPartText = new MimeBodyPart();
bodyPartText.setText(messageContent); // 设置邮件内容
multi.addBodyPart(bodyPartText);