发送邮件
以下是使用JavaMail API发送邮件的示例代码,包括密送自己的实现:
java
public static void transportSend(Set
String subject, String content, String mailType,
String personal, Boolean enabledMail) {
try {
if (!enabledMail) {
log.info("没有开启邮件");
return;
}
// 创建邮件会话
Session session = createSession(mailType);
// 创建邮件消息
Message message = new MimeMessage(session);
// 设置发件人地址和名称
String from = (StrPool.NO.equals(mailType)) ? FROM2 : FROM;
message.setFrom(new InternetAddress(from, personal));
// 设置收件人、抄送人和密送人
if (CollUtil.isNotEmpty(toSet)) {
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(CollUtil.join(toSet, ",")));
}
if (CollUtil.isNotEmpty(ccSet)) {
message.setRecipients(Message.RecipientType.CC, InternetAddress.parse(CollUtil.join(ccSet, ",")));
}
// 密送自己发的邮件
bccSet.add(from);
if (CollUtil.isNotEmpty(bccSet)) {
message.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(CollUtil.join(bccSet, ",")));
}
// 设置邮件标题和内容
message.setSubject(subject);
message.setContent(content, "text/html;charset=utf-8");
// 发送邮件
Transport.send(message);
log.info("================邮件发送成功");
} catch (Exception mex) {
// 异常处理
exceptionSend(mailType, toSet, mex, subject);
}
}
注意事项
邮件会话配置:确保邮件会话createSession方法根据你的邮件服务器配置正确创建。
异常处理:捕获并处理可能发生的任何异常,确保程序的健壮性。
邮件内容:邮件内容应根据实际需要设置,支持HTML格式。
结论
通过JavaMail API,我们可以轻松地在Java应用程序中实现邮件发送功能,包括密送自己。本文提供的示例代码展示了如何设置邮件的各种属性并发送邮件。记得在实际应用中根据自己的需求调整代码。