SpringBoot:整合JavaMail

本文介绍如何使用Java通过SMTP协议发送带有HTML格式内容、图片链接及附件的电子邮件,并实现定时发送功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

● SMTP(Simple Mail Transfer Protocol):简单邮件传输协议,用于发送电子邮件的传输协议
● POP3(Post Office Protocol-Version3):用于接收电子邮件的标准协议
● IMAP(Internet Mail Access Protocol):互联网消息协议,是POP3的替代协议

1.导入坐标

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

2.配置yml

spring:
  mail:
    host: smtp.qq.com
    username: 153*******@qq.com
    password: yh**********
    default-encoding: UTF-8

该密码为qq邮箱提供的密码

 

 3.使用

@Service
public class SendMailImpl implements SendMailService {
    @Autowired
    private JavaMailSender javaMailSender;

    private String from="1538472163@qq.com";
    private String to="758158603@qq.com";
    private String subject="测试邮件";
    //图片及连接
    private String context="<img src='https://img2.baidu.com/it/u=1712371673,260788499&fm=253&fmt=auto&app=138&f=JPEG?w=628&h=500'/><a href='https://www.baidu.com'>测试邮件xxx</a>";
    @Override
    public void sendMail() throws MessagingException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
        //发件重命名
        helper.setFrom(from+"(小安安)");
        helper.setTo(to);
        helper.setSubject(subject);
        //使用html格式内容
        helper.setText(context,true);
        //添加附件
        File file = new File("F:\\java后端\\lib\\activation-1.1.1.jar");
        helper.addAttachment(file.getName(),file);
        javaMailSender.send(mimeMessage);
    }

4.定时发邮件

@Component
public class quartz {
    @Autowired
    private SendMailService sendMailService;
    @Scheduled(cron = "0/15 * * * * ?")
    public void print(){
        System.out.println("邮件已发送。。。。。。");
    }

    @Scheduled(cron = "0/15 * * * * ?")
    public void  sendMail() throws MessagingException {
        sendMailService.sendMail();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值