使用Spring Mail发送邮件

阅读 9
标签: Java

对于企业级开发来说,发送邮件是一个不可或缺的功能,本篇讲讲如何使用Spring Mail来发送邮件。

首先,需要引入依赖:

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

其次,在 application.yml 中配置发件箱的信息:

  mail:
    host: smtp.feishu.cn
    port: 465
    username: alarm@your_company.com
    # 注意:邮箱后台开启 SMTP 服务后生成的“授权码”
    password: some_password
    protocol: smtp
    default-encoding: UTF-8
    properties:
      mail:
        smtp:
          auth: true
          ssl:
            enable: true

这里以飞书的邮箱为例,飞书的host为:smtp.feishu.cn。

要注意几点:

  • 一定要开通 IMAP/SMTP 服务(在飞书邮件管理后台页面)
  • 复制 IMAP/SMTP 密码,配置到上面的 password 中
  • SMTP 端口号为465,记得设置ssl.enabled为true

OK,到这里,配置信息就完成了。

最后,就是写代码进行发送邮件:

@Autowired
private MailSender mailSender;

public void sendMail() {
    try {
        var message = new SimpleMailMessage();
        message.setFrom("alarm@demo.com");
        message.setTo("foo@demo.com");
        message.setSubject("【系统告警】检测到异常行为");
        message.setText(String.format("原因: %s\n触发时间: %s",
                "恶意请求接口", LocalDateTime.now()));
        mailSender.send(message);
    } catch (Exception e) {
        log.error("邮件发送失败", e);
    }
}

上面发送的是纯文本,所以,new了一个SimpleMailMessage对象。如果要发送格式美观的 HTML 内容和附件等,可以参考


最后编辑于: 2026-04-15

评论(0条)

(必填)
复制成功