36.0、springboot-mail邮件发送

36.0、springboot-mail邮件发送

        我们来用springboot发送一封简单的邮件

第一步:首先导入mail相关的依赖

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

第二步:登录自己的QQ邮箱点击账户

 

        然后找到POP3/SMTP服务点击开启

 

        按照提示获取加密密码,复制一下

 

然后配置一下application.properties文件

        配置自己的邮箱

        粘贴获取得到的加密密码

        配置主机

        开启加密验证

spring.mail.username=123456789@qq.com
spring.mail.password=abcdefghijklmnopqrstuvwxyz
spring.mail.host=smtp.qq.com
#开启加密验证
spring.mail.properties.mail.smtl.ssl.enable=true

第三步:在测试类中发送一封邮件给自己的邮箱试试看,启动springboot项目测试类

package com.hkl;

import com.hkl.service.AsynchronousService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;

@SpringBootTest
class DemoApplicationTests {

    @Autowired
    private JavaMailSenderImpl mailSender;

    @Test
    void contextLoads() {
        //一个简单的邮件~
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        //设置主题
        mailMessage.setSubject("hkl发送了一篇邮件给你");
        //设置内容
        mailMessage.setText("这是hkl的一篇邮件内容");
        mailMessage.setTo("123456789@qq.com");//设置要发送给谁
        mailMessage.setFrom("123456789@qq.com");//设置自己的邮箱
        mailSender.send(mailMessage);
    }
}

启动之后查看自己的邮箱确实收到了刚刚自己发送的邮件,不过要记得连网不然会发送失败

好了一封简单的邮件完成了,我们再来写一封复杂的邮件试试看

@Test
void contextLoads2() throws MessagingException {
    //一个复杂的邮件~
    MimeMessage mimeMessage = mailSender.createMimeMessage();
    //组装~
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);//true开启多文本发送模式

    //正文
    helper.setSubject("hkl发送了一篇邮件给你");
    helper.setText("<p style='color: red;'>这是hkl的一篇邮件内容~</p>",true);//true开启html支持

    //附件
    helper.addAttachment("1.jpg",new File("C:\\Users\\86139\\Desktop\\1.jpg"));
    helper.addAttachment("2.jpg",new File("C:\\Users\\86139\\Desktop\\2.jpg"));

    helper.setTo("123456789@qq.com");
    helper.setFrom("123456789@qq.com");

    mailSender.send(mimeMessage);
}

        对比第一份简单在这个测试类中我们用的是MimeMessage而不是SimpleMailMessage

下面再用MimeMessageHelper对象来组装邮件的发送、

        我们可以自己把这个方法写成一个工具类,方便我们在工作中使用,封装这个发送邮件的方法很简单,改改参数即可

        在真实的开发中一般会放在Controller类中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值