这是4中发送邮件的方式
public interface SendMailService {
//简单邮件
public void sendSimpleMail(String to,String centent,String subject);
//html邮件
public void sendHtmlMail(String to,String subject,String content);
//带附件的邮件
public void sendAttachmentMail(String to,String subject,String content,String filePath);
//带静态资源文件的邮件
public void sendInlineResourceMail(String to,String subject,String content,String rscPath,String rscId);
}
//创建实现类实现4中方法
package com.mgetwd.jspdemo.sendservice;
@Component
@Slf4j
public class SendService implements SendMailService {
@Autowired
private JavaMailSender mailSender;
@Value("${spring.mail.username}")
private String from;
@Override
public void sendSimpleMail(String to, String centent, String subject) {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom(from);
message.setTo(to);
message.setText(centent);
message.setSubject(subject);
try {
mailSender.send(message);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void sendHtmlMail(String to, String subject, String content) {
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setSubject(subject);
helper.setTo(to);
helper.setText(content,true);
helper.setCc("xxxxxx @qq.com");
mailSender.send(message);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void sendAttachmentMail(String to, String subject, String content, String filePath) {
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content);
helper.setCc("xxxxxx @qq.com");//抄送
FileSystemResource file = new FileSystemResource(new File(filePath));
String fileName = file.getFilename();
helper.addAttachment(fileName, file);
mailSender.send(message);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void sendInlineResourceMail(String to, String subject, String content, String rscPath, String rscId) {
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper helper=new MimeMessageHelper(message,true);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content);
helper.setCc("xxxxxx @qq.com");
FileSystemResource file=new FileSystemResource(new File(rscPath));
helper.addInline(rscId,file);
mailSender.send(message);
} catch (Exception e) {
e.printStackTrace();
}
}
}
//编写测试类
package com.mgetwd.jspdemo.test;
@RunWith(SpringRunner.class)
@SpringBootTest
public class SenMailTest {
@Autowired
private SendService sendService;
@Autowired
private TemplateEngine templateEngine;
@Test
public void testSimpleMail() throws Exception {
sendService.sendSimpleMail("xxxxxx @qq.com", "从此随心所欲地老去", "我仅仅是用来测试的");
}
@Test
public void testHtmlMail() throws Exception {
String content = "<html > \n" +
"<head >\n" +
"<title > 网页恶搞程序,关不掉的弹出框</title >\n" +
"</head >" +
"<body >" +
"<input type = button value = \"点我之前要有心理准备哦,我是永远也不关不完的对话框!\" onClick = \"var e=1;while(1==1){alert('烈火网提示:这个对话框是关不掉的!')}\" >\n" +
" 关掉窗口的方法:按下ctrl + alt + del打开任务管理器,结束浏览器进程!\n" +
"</body >\n" +
"</html >\n" +
" <div style = \"text-align:center;margin:30px 0 0 0;\" >" +
"<hr style = \"color:#999;height:1px;\" > " +
"如不能显示效果,\n 请按Ctrl + F5刷新本页,更多网页代码:" +
"<a href = 'http://www.veryhuo.com/' target = '_blank' > " +
"http://www.baidu.com/</a></div>";
sendService.sendHtmlMail("xxxxxx @qq.com", "这是一个html页面", content);
}
@Test
public void testsendInlineResourceMail() {
String filePath = "E:\\start\\测试的.doc";
sendService.sendAttachmentMail("xxxxxx @qq.com", "请看附件内容", "有附件,请查收", filePath);
}
@Test
public void sendInlineResourceMail() {
String rscId = "neo006";
String content="<html><body>这是有图片的邮件:<img src=\'cid:" + rscId + "\' ></body></html>";
String imgPath = "C:\\bqs\\分期还打包目录\\test\\login-bg.jpg";
sendService.sendInlineResourceMail("1132879189@qq.com", "主题:这是有图片的邮件", content, imgPath, rscId);
}
}
要想实现发送邮件还需要在qq邮箱上面
!
之后是配置文件
spring.mail.host=smtp.qq.com
spring.mail.username=2xxxxxxx@qq.com
spring.mail.password=aoierfnzcfjwdbge
#密码是生成的授权码
spring.mail.default-encoding=UTF-8
spring.application.name=spirng-boot-mail
在此感谢
https://blog.youkuaiyun.com/liyingblog/article/details/81099536