1、近期做项目遇到了发邮件的需求。发邮件要求:多抄送、附件,话不多说,直接上代码:
public class SendAttachmentMail {
// Spring的邮件工具类,实现了MailSender和JavaMailSender接口
private static JavaMailSenderImpl mailSender;
/**
* 邮件发送
*
* @param to 收件人
* @param form 收件人
* @param subject 主题
* @param context 邮件内容
* @param filePath 附件地址
* @param str 多个抄送人
* @throws Exception
*/
public static void sendAttachmentMail(String form, String to, String subject, String context, String filePath, String[] str) throws Exception {
log.info("邮件发送接收到的请求为,form:" + form + ",to:" + to + ",subject:" + subject + ",context:" + context + ",filePath:" + filePath + ",str:" + str);
mailSender = new JavaMailSenderImpl();
// 设置参数
mailSender.setHost(Res.emailExcelHost);
mailSender.setUsername(Res.emailExcelUserName);
mailSender.setPassword(Res.emailExcelPassword);
MimeMessage mimeMessage = mailSender.createMimeMessage();
// 设置utf-8或GBK编码,否则邮件会有乱码
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
// 发件人
messageHelper.setFrom(form);
// 收件人
messageHelper.setTo(to);
// 抄送
// messageHelper.setBcc(str); 密送
messageHelper.setCc(str);
// 主题
messageHelper.setSubject(subject);
// 内容
messageHelper.setText(context);
// 附件
FileSystemResource file = new FileSystemResource(new File(filePath));
messageHelper.addAttachment(file.getFilename(), file);
mailSender.send(mimeMessage);
}
}
引入maven包
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
有什么问题,可以留言交流。