spring邮件发送带抄送和附件

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>

有什么问题,可以留言交流。

猜你喜欢

转载自blog.csdn.net/shuoshuo_12345/article/details/105136509
今日推荐