本篇内容主要讲解“怎么实现java spring-boot-starter-mail发送邮件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么实现java spring-boot-starter-mail发送邮件”吧!
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
@Service
@Slf4j
public class MonitorService {
@Autowired
private MonitorDao monitorDao;
@Autowired
private JavaMailSender mailSender;
static boolean isSend = false;
private void sendMail() throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
//发件人
helper.setFrom("241947457@qq.com");
//收件人
String[] to = new String[]{"11@11.com", "22@22.com"};
helper.setTo(to);
//标题
helper.setSubject("130.51.23.249MyCat故障");
//文本
helper.setText("130.51.23.249 Mycat 故障,请尽快去看看。");
//附件
// helper.addAttachment("downFile",new File("D:\\cygwin64\\home\\workspace3\\learn-demo\\zookeeper\\src\\test\\java\\com\\tzxylao\\design\\ZookeeperApplicationTests.java"));
mailSender.send(mimeMessage);
}
public int monitor() {
try {
Byte b = monitorDao.select();
return b;
}
catch (Exception e) {
log.error("heartbeat error!");
try {
if (!isSend) {
sendMail();
log.info("send mail ok!");
isSend = true;
}
} catch (MessagingException e1) {
log.error("send mail error!", e);
}
}
return 0;
}
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class MonitorDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public Byte select() {
String sql = "SELECT 1";
Byte result = jdbcTemplate.queryForObject(sql, Byte.class);
return result;
}
}
# 设置邮箱主机
spring.mail.host=smtp.qq.com
# 设置用户名
spring.mail.username=241947457@qq.com
# 设置密码,该处的密码是QQ邮箱开启SMTP的授权码而非QQ密码
spring.mail.password=hxfpwaxswloscb11
# 设置是否需要认证,如果为true,那么用户名和密码就必须的,
# 如果设置false,可以不设置用户名和密码,当然也得看你的对接的平台是否支持无密码进行访问的。
spring.mail.properties.mail.smtp.auth=true
# STARTTLS[1] 是对纯文本通信协议的扩展。它提供一种方式将纯文本连接升级为加密连接(TLS或SSL),而不是另外使用一个端口作加密通信。
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
mail.from=${spring.mail.username}
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
到此,相信大家对“怎么实现java spring-boot-starter-mail发送邮件”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/2464371/blog/3085492