计算机系统应用教程网站

网站首页 > 技术文章 正文

SpringBoot发送HTML格式电子邮件 springboot email

btikc 2024-10-21 04:15:20 技术文章 23 ℃ 0 评论

SpringBoot整合了Java Mail可以很方便的发送电子邮件。

我们来看看如何发送HTML格式的电子邮件。

导入邮件依赖

在SpringBoot的pom文件中导入电子邮件的starter。

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

配置邮件信息

在application.properties中配置邮箱信息,包括邮件服务器地址、用户名和密码。

spring.mail.host=smtp.qq.com
spring.mail.username=123@qq.com
spring.mail.password=456

注入邮件发送器

使用@Autowired注解注入JavaMailSender对象。

@Autowired
private JavaMailSender javaMailSender;

4.构造HTML邮件

创建mimeMessage对象发送HTML邮件。

MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);

try {
    helper.setFrom("123@qq.com(帅锅)");
    helper.setTo("456@qq.com");
    helper.setSubject("你好");
    helper.setText("<a href='https://www.qq.com'>点我</a>",true);
} catch (MessagingException e) {
    e.printStackTrace();
}

通过MimeMessageHelper对象设置邮件信息。

setText第一个参数是邮件的正文,在这里输入HTML代码

setText第二个参数是设置是否是HTML邮件,要设置为true

方法

作用

helper.setFrom

设置发件人地址,可以通过“()”设置别名

helper.setTo

设置收件人地址

helper.setSubject

设置邮件标题

helper.setText

设置邮件正文,第二个参数设置是否为HTML邮件

发送邮件

通过 javaMailSender.send方法发送电子邮件,参数是构建的mimeMessage对象。

@Component
public class MailServiceImpl implements MailService{

    @Autowired
    private JavaMailSender javaMailSender;

    @Override
    public void sendMail() {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);

        try {
            helper.setFrom("123@qq.com(帅锅)");
            helper.setTo("456@qq.com");
            helper.setSubject("你好");
            helper.setText("<a href='https://www.qq.com'>点我</a>",true);
        } catch (MessagingException e) {
            e.printStackTrace();
        }

        javaMailSender.send(mimeMessage);
    }
}

测试

通过测试方法测试邮件发送。

@SpringBootTest
public class MailTest {

    @Autowired
    private MailService mailService;

    @Test
    void test(){
        mailService.sendMail();
    }
}

邮箱收到了发送的邮件,连接是可以点击的,是一个HTML格式的邮件。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表