package com.doumee.service.common; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import javax.mail.internet.MimeMessage; import java.io.File; import java.util.List; import java.util.Map; @Service @Slf4j public class EmailService { @Autowired private JavaMailSender javaMailSender;//注入JavaMailSender @Value("${spring.mail.username}") private String fromEmail; public boolean sendEmailWithLocalFiles(String toEmail, String title, String content, List> fileList) { try { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); context.refresh(); MimeMessage message = javaMailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setTo(toEmail); helper.setFrom(fromEmail); helper.setSubject(title); helper.setText(content); if(fileList!=null){ for (Map f : fileList){ // 设置附件 helper.addAttachment((String) f.get("name"),new FileSystemResource((File) f.get("file"))); } } javaMailSender.send(message); System.out.println("邮件发送成功!"); return true; } catch (Exception e) { e.printStackTrace(); return false; } } public boolean sendEmailWithImages(String toEmail, String title, Map contentForm, List imgList) { log.error("邮件开始发送============"+toEmail); try { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); context.refresh(); MimeMessage message = javaMailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setTo(toEmail); helper.setFrom(fromEmail); helper.setSubject(title); String content = ""; if(contentForm!=null){ for (Map.Entry f : contentForm.entrySet()) { // 设置附件 content += "
"+f.getKey()+":"+f.getValue()+"

"; } } if(imgList!=null){ content += "
"; for (String f : imgList){ // 设置附件 content += ""; } } content += "
"; helper.setText(content,true); log.error("邮件内容============"+content); javaMailSender.send(message); log.error("邮件发生成功============"); return true; } catch (Exception e) { e.printStackTrace(); log.error("邮件发生成功============"+e.getMessage()); return false; } } }