我现在所在的公司,由于没有对应的运维人员,而且涉及到系统需要和第三方系统进行API对接,为了每天定时进行API测试,将测试结果进行通知开发,因此从成本角度考虑使用email邮件;
POM引入依赖
将下列依赖引入到POM文件,原则上只要引入第一个依赖就行,但是我本地工程一直引入后,还是无法识别相关方法,所有又加了第二个依赖;
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
配置邮件主机
按照你想用邮件服务主机,配置你的发送邮件账号内容;
mail:
host: smtp.qiye.aliyun.com
username: support@mail.ahautoflow.com
password: ********
default-encoding: utf-8
properties:
mail:
smtp:
ssl:
enable: true
定义发送邮件方法
如下图所示我的代码(代码写的烂忽喷,留点面子)
private void sendEmailMessage(String description){
List<SysDictData> dictDataList = sysDictTypeService.selectDictDataByType("api_monitor_email");
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("support@mail.ahautoflow.com");
message.setSubject("通关服务平台API监控");
message.setText(description);
if(dictDataList.isEmpty()){
message.setTo("938282597@qq.com");
try{
mailSender.send(message);
}
catch (Exception e){
e.printStackTrace();
}
}else{
for (SysDictData dictData:dictDataList) {
message.setTo(dictData.getDictValue());
try{
mailSender.send(message);
}
catch (Exception e){
e.printStackTrace();
}
}
}
}
调用发送方法
只要在对应代码中加上发送邮件内容,调用接口就行,很简单;
if(result.containsKey("resCode") && "0".equals(result.get("resCode").toString())){
if(result.containsKey("pros")){
JSONArray messageList = result.getJSONArray("pros");
String apiStr = JSON.toJSONString(messageList.get(0));
JSONObject apiMessage = JSONObject.parseObject(apiStr);
if(apiMessage.containsKey("resultCode") && "0".equals(apiMessage.get("resultCode").toString())){
emailStr.append(timeStr+": 出口订单API测试新增功能成功"+"\n");
}else{
emailStr.append(timeStr+": 出口订单API测试新增功能失败,错误消息如下:"+ apiMessage.toString() +"\n");
}
}else{
emailStr.append(timeStr+": 出口订单API测试新增功能,返回体异常"+"\n");
}
}else {
sendEmailMessage(timeStr + ": 出口订单API测试新增功能,服务异常。错误信息如下:" + result.toJSONString());
return;
}
本文所有内容来自互联网,如有侵权/不实内容请联系我们删除,联系邮箱postusb@foxmail.com
发布者:缘分,转转请注明出处:https://www.bjxdyg.com/baike/153125.html