Springboot发送邮件
2018-08-29 23:59
344 查看
引入jar
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-autoconfigure --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> <version>2.0.0.RELEASE</version> </dependency> <!-- mail --> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.6.1</version> </dependency>
如果不是springboot应用,可以参考这里实例化sender即可
`
org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration
`
配置
配置application.properties或者application.yml3. #mail 4. #电子邮件地址 5. spring.mail.host=smtp.163.com 6. #邮箱服务器默认端口 7. spring.mail.port=25 8. #协议 9. spring.mail.protocol=smtp 10. #邮箱账号名 11. spring.mail.username=***@163.com 12. #授权密码,不是登录密码,在 设置->POP3/IMAP/SMTP->客户端授权密码 13. spring.mail.password=***
这里是授权码,不是登陆密码,授权码的设置可以参考:163邮箱授权码设置
代码
package com.aomo.signin.component; import java.io.File; import javax.annotation.Resource; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.autoconfigure.mail.MailProperties; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Component; /** * @author Michael * @date 2018年8月27日 * @desc **/ @Component("email") public class EmailComponent { private static Logger LOG = LoggerFactory.getLogger(EmailComponent.class); @Resource private MailProperties mailProperties; @Resource private JavaMailSender mailSender; /** * 发送文本邮件 * * @param to * @param subject * @param content */ public void sendSimpleMail(String to, String subject, String content) { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom(mailProperties.getUsername()); String[] tos = to.split(","); message.setTo(tos); message.setSubject(subject); message.setText(content); try { mailSender.send(message); LOG.info("简单邮件已经发送。"); } catch (Exception e) { LOG.error("发送简单邮件时发生异常!", e); } } /** * 发送html邮件 * * @param to * @param subject * @param content */ public void sendHtmlMail(String to, String subject, String content) { MimeMessage message = mailSender.createMimeMessage(); try { // true表示需要创建一个multipart message MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(mailProperties.getUsername()); String[] tos = to.split(","); helper.setTo(tos); helper.setSubject(subject); helper.setText(content, true); mailSender.send(message); LOG.info("html邮件发送成功"); } catch (MessagingException e) { LOG.error("发送html邮件时发生异常!", e); } } /** * 发送带附件的邮件 * * @param to * @param subject * @param content * @param filePath */ public void sendAttachmentsMail(String to, String subject, String content, String filePath) { MimeMessage message = mailSender.createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(mailProperties.getUsername()); String[] tos = to.split(","); helper.setTo(tos); helper.setSubject(subject); helper.setText(content, true); FileSystemResource file = new FileSystemResource(new File(filePath)); String fileName = filePath.substring(filePath .lastIndexOf(File.separator)); helper.addAttachment(fileName, file); // helper.addAttachment("test"+fileName, file); mailSender.send(message); LOG.info("带附件的邮件已经发送。"); } catch (MessagingException e) { LOG.error("发送带附件的邮件时发生异常!", e); } } /** * 发送正文中有静态资源(图片)的邮件 * * @param to * @param subject * @param content * @param rscPath * @param rscId */ 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(mailProperties.getUsername()); String[] tos = to.split(","); helper.setTo(tos); helper.setSubject(subject); helper.setText(content, true); FileSystemResource res = new FileSystemResource(new File(rscPath)); helper.addInline(rscId, res); mailSender.send(message); LOG.info("嵌入静态资源的邮件已经发送。"); } catch (MessagingException e) { LOG.error("发送嵌入静态资源的邮件时发生异常!", e); } } }
相关文章推荐
- springboot发送邮件
- springboot 发送邮件
- SpringBoot实现简单发送邮件
- springBoot发送邮件
- SpringBoot拦截全局异常并发送邮件给指定邮箱
- SpringBoot发送QQ邮件
- Springboot集成quartz之定时向用户发送邮件(第二期)
- springboot【27】邮件发送JavaMailSender
- springboot发送邮件
- SpringBoot(十一):SpringBoot发送邮件
- springboot 发送邮件报535错误解决办法
- SpringBoot使用FreeMarker模板发送邮件
- Springboot 集成 javamail发送邮件535错误
- SpringBoot学习-(二十三)SpringBoot发送邮件
- springboot添加邮件发送及压缩功能
- SpringBoot 2.x 集成QQ邮箱、网易系邮箱、Gmail邮箱发送邮件
- springboot发送邮件
- springboot发送邮件
- Linux下如何查看自己的公网IP并通过邮件发送
- C语言发送邮件