添加依赖
org.springframework.boot spring-boot-starter-mail 2.1.7.RELEASE
配置:去邮箱中开启SMTP服务
注意密码是邮箱的生成授权码
代码:
1 package com.drawnblue.springbootemail; 2 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.beans.factory.annotation.Value; 5 import org.springframework.core.io.FileSystemResource; 6 import org.springframework.mail.SimpleMailMessage; 7 import org.springframework.mail.javamail.JavaMailSender; 8 import org.springframework.mail.javamail.MimeMessageHelper; 9 import org.springframework.stereotype.Component;10 11 import javax.mail.MessagingException;12 import javax.mail.internet.MimeMessage;13 import java.io.File;14 import java.util.Date;15 16 @Component17 public class EmailUtil {18 private String from="1248375279@qq.com";19 @Autowired20 private JavaMailSender sender;21 22 /**23 * 发送一般文本邮件24 * @param to25 * @param subject26 * @param content27 */28 public void sendTextEmail(String to,String subject,String content){29 SimpleMailMessage message = new SimpleMailMessage();30 message.setFrom(from);31 message.setTo(to);32 message.setSubject(subject);33 message.setText(content);34 message.setSentDate(new Date());35 sender.send(message);36 }37 38 /**39 * @param to40 * @param subject41 * @param content42 * @param imgPath43 * @param imgId44 * @throws MessagingException45 * 发送带图片并显示在邮件中的邮件46 */47 public void sendImageMail(String to, String subject, String content, String imgPath, String imgId) throws MessagingException {48 //创建message49 MimeMessage message = sender.createMimeMessage();50 MimeMessageHelper helper = new MimeMessageHelper(message, true);51 //发件人52 helper.setFrom(from);53 //收件人54 helper.setTo(to);55 //标题56 helper.setSubject(subject);57 //true指的是html邮件,false指的是普通文本58 helper.setText(content, true);59 //添加图片60 FileSystemResource file = new FileSystemResource(new File(imgPath));61 helper.addInline(imgId, file);62 //发送邮件63 sender.send(message);64 }65 66 }
测试
package com.drawnblue.springbootemail;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import javax.mail.MessagingException;@RunWith(SpringRunner.class)@SpringBootTestpublic class SpringbootEmailApplicationTests {@AutowiredEmailUtil text; /** * 文本 */ @Test public void contextLoads() { text.sendTextEmail("yourEmailAddr","test","helloworld!!!"); } /** * @throws MessagingException * 发送带图片的邮件 */ @Test public void sendImageEmailTest() throws MessagingException { text.sendImageMail("yourEmailAddr","image测试","helloWorld
","G:\\壁纸\\timg.jpg","001"); }}
效果
要了解其他的也可以参考博文