- 导入mail坐标
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
- 配置文件配置
spring.mail.username=2685341645@qq.com spring.mail.password=scetlwtrewchdege #授权码:在qq邮箱 设置->账户:开启POP3/SMTP服务获得 spring.mail.host=smtp.qq.com #qq邮箱需要下面配置,其它不用 spring.mail.properties.mail.smtp.ssl.enable=true
- 在测试类进行测试
- 发送简单邮件
@Autowired //详情查看 MailSenderAutoConfiguration JavaMailSenderImpl mailSender; @Test void contextLoads() { SimpleMailMessage mailMessage = new SimpleMailMessage(); mailMessage.setSubject("这是主题"); //设置主题 mailMessage.setText("这是内容"); //设置内容 mailMessage.setTo("2685341645@qq.com"); //设置发送地址 mailMessage.setFrom("2685341645@qq.com"); //设置发送账户(配置文件中配置的) mailSender.send(mailMessage); //发送邮件 }
- 发送标准邮件(附件等)
@Test void contextLoads2() throws MessagingException { //发送复杂邮件 MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true,"utf-8"); helper.setText("<p style='color:red'>这是第二封邮件了</p>",true); helper.setSubject("第二封邮件的主题"); helper.addAttachment("sss.jpg",new File("F:\\桌面\\sss.jpg")); helper.setTo("2685341645@qq.com"); helper.setFrom("2685341645@qq.com"); mailSender.send(mimeMessage); }
- 可以封装方法,模拟真实环境,这里就进行简单的几个封装
/** * 自定义的方法,其它内容省略了先,太麻烦了 * @param title:邮件主题 * @param text :邮件内容(支持html) * @param encoding:编码格式 * @param flag : 是否存在上传文件 * * @throws MessagingException */ public void sendMail(String title, String text, String encoding, Boolean flag, Map<String,File> files) throws MessagingException { //发送复杂邮件 MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,flag,encoding); helper.setText(text,true); //内容 helper.setSubject(title); //主题 if (flag) for (String s : files.keySet()) { File file = files.get(s); helper.addAttachment(s,file); } helper.setTo("2685341645@qq.com"); helper.setFrom("2685341645@qq.com"); mailSender.send(mimeMessage); }
- 发送简单邮件
Springboot实现邮件发送
最新推荐文章于 2024-08-03 16:59:38 发布