Java-SpringBoot发送邮件代码

24 篇文章 0 订阅
20 篇文章 0 订阅

所有邮件的发送都需要有运营商的支持,例如qq邮箱,163等。要发送邮件需要先获取服务上提供的授权码。以qq邮箱为例:
登陆QQ邮箱,设置–账户–开启POP3/SMTP服务 拿到授权码
在这里插入图片描述
开启服务
在这里插入图片描述发送验证短信
在这里插入图片描述点我已发送,拿到授权码:

                第一步 : 导入jar包
   <!--对邮件的支持jar-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

第二步:创建配置文件 application.properties 优先级比application.yml更高,两个都会加载

# 设置邮箱主机(服务商)
spring.mail.host=smtp.qq.com
# 设置用户名,每个人不同
spring.mail.username=8048984@qq.com

# 设置密码,该处的密码是QQ邮箱开启SMTP的授权码而非QQ密码(授权码)
spring.mail.password=qzbxiwjfrwe

# 必须进行授权认证,它的目的就是阻止他人任意乱发邮件
spring.mail.properties.mail.smtp.auth=true

#SMTP加密方式:连接到一个TLS保护连接
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

前面三项不是固定的,后三项是固定的

发送普通邮件,SimpleMessage不支持html代码,不支持携带附件
JavaMailSender 是jar包写好的 直接注入就可以使用

@Autowired
private JavaMailSender mailSender;
//发送简单邮件
@Test
public void SimpleMail(){
    SimpleMailMessage message = new SimpleMailMessage();
    //设置发件人
    message.setFrom("8048984@qq.com");
    //设置收件人
    message.setTo("5201314@qq.com");
    //设置标题
    message.setSubject("发送简单邮件");
    //设置内容
    message.setText("<h1>今天是个好天气,不会解析HTML</h1>");
    //发送
    mailSender.send(message);
}

发送复杂邮件 MimeMessage ,支持携带附近

//发送复杂邮件
    @Test
    public void MimeMessage() throws MessagingException {
        //创建一个复杂的空邮件
        MimeMessage message = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true, "utf-8");
        //设置发件人
        helper.setFrom("8048984@qq.com");
        //设置收件人
        helper.setTo("5201314@qq.com");
        //设置标题
        helper.setSubject("明天你是否会想起,昨天你写的日记");
        //设置内容  html  解析html true
        helper.setText("<h1>今天是个好天气,已经解析HTML</h1>" +
                "<a href='http://www.baidu.com'>点我进入百度</a>",true);
        //添加附件,filename必须加上后缀,不然会出问题
        helper.addAttachment("大飞机.jpg", new File("C:\\Users\\Administrator\\Desktop\\b2\\A380.jpg"));
        helper.addAttachment("F22.jpg", new File("C:\\Users\\Administrator\\Desktop\\b2\\F22.jpg"));
        //发送邮件
        mailSender.send(message);
    }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值