1.1. 添加依赖
<!--JavaMail--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
1.2. application.properties配置
#配置smpt服务器地址 spring.mail.host=smtp.qq.com #发送者邮箱 spring.mail.username=2646541192@qq.com #配置密码,注意不是真正的密码,而是申请的授权码 spring.mail.password=vltaykcfeqpieajb #qq邮箱的为 smtp.qq.com 端口 465或者587 #spring.mail.port=465 #默认的邮件编码为UTF-8 #spring.mail.default-encoding=UTF-8 #设置smtp邮件服务器tls加密认证 spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true #开启ssl 否则会报503错误 spring.mail.properties.mail.smtp.ssl.enable=true
126邮箱SMTP服务器地址:smtp.126.com,端口号:465或者994
2163邮箱SMTP服务器地址:smtp.163.com,端口号:465或者994
yeah邮箱SMTP服务器地址:smtp.yeah.net,端口号:465或者994
qq邮箱SMTP服务器地址:smtp.qq.com,端口号465或587*
1.3. 发送邮件类
@Component
public class MailUtil {
@Autowired
private JavaMailSender mailSender;
//发送邮件的邮箱
@Value("${spring.mail.username}")
private String from;
//发送普通邮件
public void sendMail(String to,String subject,String text) {
try {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
helper.setSubject(subject);
helper.setFrom(from);
helper.setTo(to);
//抄送
//helper.setCc("");
//密送
//helper.setBcc("");
helper.setText(text,true);
//发送
mailSender.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
}
}测试:
@Test
public void testSendMail(){
String text = "<html><body><h2>最新通知</h2><p>大家尽快准备面试服装和面试题!</p></body></html>";
mailUtil.sendMail("wangrf@qingsoft.net","hello",text);
} 
1.4. 发送带附件的邮件
public void sendMail(String to,String subject,String text,String attachmentFileName,String attachementFilePath) {
try {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
helper.setSubject(subject);
helper.setFrom(from);
helper.setTo(to);
helper.setText(text,true);
//设置附件
if(attachmentFileName!=null){
helper.addAttachment(attachmentFileName,new FileSystemResource(attachementFilePath));
}
//发送
mailSender.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
}测试:
@Test
public void testSendMail(){
String text = "<html><body><h2>最新通知</h2><p>大家尽快准备面试服装和面试题!</p>" +
"<img src=\"cid:inlineImg\">"+
"</body></html>";
mailUtil.sendMail("wangrf@qingsoft.net","hello",text,"操作日志.txt","d:\\log.txt");
}收件箱收到的邮件如下:

1.5. 发送带内联资源的邮件
public void sendMail(String to,String subject,String text,String attachmentFileName,String attachementFilePath,String inlineImgPath) {
try {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
helper.setSubject(subject);
helper.setFrom(from);
helper.setTo(to);
helper.setText(text,true);
//设置附件
if(attachmentFileName!=null){
helper.addAttachment(attachmentFileName,new FileSystemResource(attachementFilePath));
}
//设置内联资源
if(inlineImgPath!=null){
helper.addInline("inlineImg",new FileSystemResource(inlineImgPath));
}
//发送
mailSender.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
}测试:
@Test
public void testSendMail(){
String text = "<html><body><h2>最新通知</h2><p>大家尽快准备面试服装和面试题!</p>" +
"<img src=\"cid:inlineImg\">"+
"</body></html>";
mailUtil.sendMail("wangrf@qingsoft.net","hello",text,"操作日志.txt","d:\\log.txt","d:\\images\\2.jpg");
}收件箱收到的邮件如下:



0条评论
点击登录参与评论