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

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

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

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

spring:
  mail:
    protocol: smtps
    host: smtp.126.com
    port: 465
    username: <senderAddress>
    password: <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);
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。