现在有了springboot的自动配置,我们可以很方便地使用springmail发送邮件,只需要以下简单两步。关于springboot的使用请参照别的教程。
springmail的starter依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
1、邮箱配置:
在配置中设置发送人的邮箱配置,协议默认是smtp,开启ssl需要改为smtps,其他协议也是在后面加上s表示使用ssl传输。主机和端口参照邮箱提供商的帮助文档,如果邮箱设置了授权码,密码的位置需要使用授权码。
spring:
mail:
protocol: smtps
host: smtp.126.com
port: 465
username: <senderAddress>
password: <password>
properties:
# 开启调试日志
mail.debug: true
126邮箱相关服务器服务器信息:
163邮箱相关服务器服务器信息:
2、编写发送代码:
注入spring自动配置提供的mail客户端,设置邮件相关的信息,开始发送。
@Resource
private JavaMailSenderImpl mailSender;
public void sendSimpleMessage() {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("mail sender");
message.setTo("mail receiver");
message.setSubject("title");
message.setText("hello world");
mailSender.send(message);
}
public void sendMimeMessage() throws Exception {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom("mail sender");
helper.setTo("mail receiver");
helper.setSubject("title");
File file = new File("your file");
helper.addAttachment(file.getName(), file);
// 带附件邮件正文必须显式设置一次,可以为空字符
helper.setText("hello world");
mailSender.send(message);
}