程序员:用SpringBoot发送邮件,了解JavaMailSender

 邮箱网  0条评论  6896次浏览  2020年01月06日 星期一 09:21

分享到: 更多
中国邮箱网讯 1月6日消息 邮件在日常工作中有很多场景需求,监控提醒、告警信息等。现在用springboot开发一个定时发送邮件的微服务,来满足工作需求。

boot项目,引入 mail starter,

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-mail</artifactId>

</dependency>

mail 工具类

常用的邮件实例有SimpleMailMessage和MimeMailMessage,这里我们以SimpleMailMessage为例,MimeMailMessage功能更丰富,大家可以自己去探讨。

写了一个工具类,供参考,其中setTo、setCc、setBcc方法都是用的String...的方法,支持传入多个收件人、抄送人。

@Component

public class EmailTool {

protected static final Logger logger = LoggerFactory.getLogger(EmailTool.class);

public static final String ZSZT = "";

@Autowired

private JavaMailSender mailSender;

public void sendEmail(Map<String, String> map){

String to = map.get("E_TO");

String cc = map.get("E_CC");

String bcc = map.get("E_BCC");

String subject = map.get("E_SUBJECT");

String text = map.get("E_CONTENT");

if(to!=null){

try {

SimpleMailMessage message = new SimpleMailMessage();

message.setFrom(ZSZT);

message.setTo(to.split(","));

if(cc!=null){

message.setCc(cc.split(","));

}

if(bcc!=null){

message.setBcc(bcc.split(","));

}

message.setSubject(subject);

message.setText(text);

mailSender.send(message);

} catch (Exception e){

logger.error("EmailTool ---> sendEmail() --- error");

e.printStackTrace();

}

} else {

logger.warn("EmailTool sendEmail() -- to == null");

}

}

}

后续和定时

工具类调试通过后,需要外部的map参数输入,这就根据自己的具体业务逻辑输入就可以了。

定时任务的话可参考SpringBoot之定时任务和Cron表达式配置,首先引入 spring-boot-starter-quartz 依赖,然后按照cron表达式配置job就可以了。

标签:程序员发送邮件SpringBoot

我的评论:

请  后发表评论。