如何使用springboot+springmail发送邮件(附带附件)

现在有了springboot的自动配置,我们可以很方便地使用springmail发送邮件,只需要以下简单两步。关于springboot的使用请参照别的教程。
springmail的starter依赖


  org.springframework.boot
  spring-boot-starter-mail

1、邮箱配置:
在配置中设置发送人的邮箱配置,协议默认是smtp,开启ssl需要改为smtps,其他协议也是在后面加上s表示使用ssl传输。主机和端口参照邮箱提供商的帮助文档,如果邮箱设置了授权码,密码的位置需要使用授权码。

spring:
  mail:
    protocol: smtps
    host: smtp.126.com
    port: 465
    username: 
    password: 
    properties:
      # 开启调试日志
      mail.debug: true

126邮箱相关服务器服务器信息:


image

163邮箱相关服务器服务器信息:


image

2、编写发送代码:
注入spring自动配置提供的mail客户端,设置邮件相关的信息,开始发送。

    @Resource
    private JavaMailSenderImpl mailSender;

    public void sendSimpleMessage() {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom("mail sender");
        message.setTo("mail receiver");
        message.setSubject("title");
        message.setText("hello world");
        mailSender.send(message);
    }
    
    public void sendMimeMessage() throws Exception {
        MimeMessage message = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
        helper.setFrom("mail sender");
        helper.setTo("mail receiver");
        helper.setSubject("title");
        File file = new File("your file");
        helper.addAttachment(file.getName(), file);
        // 带附件邮件正文必须显式设置一次,可以为空字符
        helper.setText("hello world");
        mailSender.send(message);
    }

你可能感兴趣的:(如何使用springboot+springmail发送邮件(附带附件))