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条评论
点击登录参与评论