springboot集成JavaMailSender发送html邮件

一、倒入相关依赖

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

二、properties中添加配置

spring.mail.default-encoding=UTF-8
#服务器地址
spring.mail.host=smtp.qq.com
#发送方邮箱
spring.mail.username=1768916170@qq.com
#授权码,不是邮箱密码
spring.mail.password=xxxxxxxxx

三、发送邮件util类编写

    @Resource
    private JavaMailSender javaMailSender;

    @Value("${spring.mail.username}")
    private String mailAddress;



public void sendMail(List<String> list, String appName, String sendMail) {
        for (String mail : list) {
            MimeMessage mimeMessage = javaMailSender.createMimeMessage();
            try {
                // 使用MimeMessageHelper设置邮件信息
                MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
                //发件人
                helper.setFrom(mailAddress);
                //收件人
                helper.setTo(mail);
                //抄送人
//            helper.setCc(mailAddress);
                //邮件标题
                helper.setSubject("审批邮件");

                Configuration configuration = new Configuration(Configuration.VERSION_2_3_0);
                ClassLoader classLoader = XBootstrap.class.getClassLoader();
                configuration.setClassLoaderForTemplateLoading(classLoader, "templates");
                Template template = configuration.getTemplate("email.html");
                //利用反射构建通用Map
                Map<String, String> map = new HashMap<>();
                map.put("name", mail);
                map.put("email", sendMail);
                map.put("projectName", "xxx的应用");
                map.put("url", "www.baidu.com");
                map.put("appName", appName);

                //模版渲染,渲染的结果被保存到out中,将out中的html字符串输出即可
                StringWriter out = new StringWriter();
                template.process(map, out);
                helper.setText(out.toString(), true);
                javaMailSender.send(mimeMessage);
            } catch (Exception e) {
                throw new BusinessException(ReturnCodeEnum.SEND_MAIL_ERROR, "发送邮件失败!" + e.getMessage());
            }
        }

    }

四、html邮件模版

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<style>
    p {text-indent:3em;}
</style>
<body>

<div><b>标题:应用升级发布审核</b></div>
<p></p>
<div><b>内容:Dear ${name}</b></div>
<p><b>您好:有一个应用升级发布需要您的审核,请点击链接进行审核。</b></p>
<p><b>发起者:</b><a href="${email}">${email}</a></p>
<p><b>项目名称:${projectName}</b></p>
<p><b>应用名称:${appName}</b></p>
<p><a href="${url}" target="_blank">${url}</a></p>
<p><b>请尽快审核,谢谢!</b></p>
<p>(系统发送,请勿直接回复)</p>

</div>
</body>
</html>

五、发送成功邮件示例

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot可以通过JavaMailSender发送HTML邮件。以下是发送HTML邮件的步骤: 1. 在pom.xml文件中添加以下依赖项: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> ``` 2. 在application.properties文件中添加SMTP服务器的配置信息: ``` spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=your-email@gmail.com spring.mail.password=your-email-password spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true ``` 3. 创建一个邮件服务类,该类使用JavaMailSender发送HTML邮件: ``` @Service public class EmailService { @Autowired private JavaMailSender javaMailSender; public void sendHtmlEmail(String to, String subject, String htmlBody) throws MessagingException { MimeMessage message = javaMailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); helper.setTo(to); helper.setSubject(subject); helper.setText(htmlBody, true); javaMailSender.send(message); } } ``` 4. 在需要发送HTML邮件的地方调用邮件服务类的sendHtmlEmail方法: ``` @Autowired private EmailService emailService; public void sendEmail() throws MessagingException { String to = "recipient-email@example.com"; String subject = "Test HTML Email"; String htmlBody = "<h1>Hello World!</h1><p>This is a test HTML email.</p>"; emailService.sendHtmlEmail(to, subject, htmlBody); } ``` 以上就是使用Spring Boot发送HTML邮件的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值