首页>代码>Spring的邮件发送工具,支持群发和抄送>/src/main/java/cn/ifxcode/utils/email/service/impl/EmailServiceImpl.java
package cn.ifxcode.utils.email.service.impl; import java.io.File; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import javax.mail.MessagingException; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import cn.ifxcode.utils.email.service.EmailService; @Service public class EmailServiceImpl implements EmailService { private Logger logger = LoggerFactory.getLogger(this.getClass()); @Resource private JavaMailSender javaMailSender; @Value("${email.username}") private String email; public void sendMailAndFile(String subject, String[] address, String[] ccAddress, String msg, File[] fileList) { logger.info("sendMailAndFile start..."); MimeMessage mailMessage = javaMailSender.createMimeMessage(); MimeMessageHelper messageHelper = null; try { messageHelper = new MimeMessageHelper(mailMessage, true, "UTF-8"); if (address != null) { messageHelper.setTo(this.formatString(address)); } if (ccAddress != null) { messageHelper.setCc(this.formatString(ccAddress)); } messageHelper.setFrom(email); messageHelper.setSubject(subject); messageHelper.setText(new StringBuilder("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></head></body>") .append(msg).append("</body></html>").toString(), true); if(null!=fileList&&fileList.length>0){ for (File attachFile : fileList) { messageHelper.addAttachment(attachFile.getName(), attachFile); } } javaMailSender.send(mailMessage); logger.info("sendMailAndFile end..."); } catch (MessagingException e) { logger.info("sendMailAndFile happend...", e.getMessage()); } } public void sendMail(String subject, String[] address, String[] ccAddress, String msg) { logger.info("sendMail start..."); MimeMessage mailMessage = javaMailSender.createMimeMessage(); MimeMessageHelper messageHelper = null; try { messageHelper = new MimeMessageHelper(mailMessage, true, "UTF-8"); if (address != null) { messageHelper.setTo(this.formatString(address)); } if (ccAddress != null) { messageHelper.setCc(this.formatString(ccAddress)); } messageHelper.setFrom(email); messageHelper.setSubject(subject); messageHelper.setText(new StringBuilder("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></head></body>") .append(msg).append("</body></html>").toString(), true); javaMailSender.send(mailMessage); logger.info("sendMail end..."); } catch (MessagingException e) { logger.info("sendMail happend...", e.getMessage()); } } private InternetAddress[] formatString(String... address) { InternetAddress[] internetAddresses = new InternetAddress[address.length]; List<InternetAddress> list = new ArrayList<InternetAddress>(address.length); for (String str : address) { try { list.add(new InternetAddress(str)); } catch (AddressException e) { e.printStackTrace(); } } return list.toArray(internetAddresses); } }
最近下载更多
langya LV9
2022年3月2日
luesjim LV11
2021年6月18日
wangyang123 LV9
2021年6月8日
xuexizhuanyong23 LV16
2021年1月22日
stellafull LV2
2021年1月17日
robin8899 LV3
2020年11月27日
jin666 LV3
2020年3月10日
周大福 LV12
2020年2月27日
haohao先森 LV5
2020年2月10日
8战魂5无双8 LV43
2020年1月6日
最近浏览更多
2636804923 LV6
6月16日
lzx602 LV3
4月15日
小白jmhuang LV12
2023年5月30日
1358849392 LV21
2022年12月27日
qq1176648922 LV6
2022年10月24日
2363659936 LV2
2022年6月21日
1623096142 LV6
2022年6月20日
WeiZZZ LV1
2022年3月28日
npc也有忧伤 LV3
2022年3月20日
langya LV9
2022年3月2日