Spring Boot如何发送电子邮件(文本或文本及带附件)呢?

戚薇 SpringBoot 发布时间:2023-06-08 22:00:48 阅读数:5261 1
下文笔者讲述SpringBoot发送电子邮件的方法分享,如下所示

发送电子邮件的实现思路

1.引入mail starter
2.编写相应的配置文件
3.编写邮件发送类
例:SpringBoot发送电子邮件
//引入maven jar包

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

//编写配置文件
//application.properties

spring.mail.host=smtp.qq.com
spring.mail.username=xxxxxxxxx@qq.com
spring.mail.password=xxxxxxxxx
spring.mail.default-encoding=utf-8


//发送电子邮件示例代码

@Service
public class MailService {
 
    @Autowired
    JavaMailSender javaMailSender;
 
    public void sendTest(){
        //建立邮件消息
        SimpleMailMessage mainMessage = new SimpleMailMessage();
        //发送者
        mainMessage.setFrom("和spring.mail.username一样的");
        //接收者
        mainMessage.setTo("目标邮箱");
        //发送的标题
        mainMessage.setSubject("这是您需要的文件");
        //发送的内容
        mainMessage.setText("请看附件");
        javaMailSender.send(mainMessage);
    }
 
    public void sendFileTest(ResourcesInfoVo resourcesInfo) throws MessagingException, IOException {
 
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
 
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
        helper.setSubject("这是您需要的文件");
        //发送者
        helper.setFrom("和spring.mail.username一样的");
        //接收者
        helper.setTo("目标邮箱");
        helper.setSentDate(new Date());
        helper.setText("需要的文件在附件中,欢迎下次继续使用本系统。");
 
        InputStream inputStream = new ByteArrayInputStream(resourcesInfo.getContent());
        helper.addAttachment(resourcesInfo.getFileName(), new ByteArrayResource(IOUtils.toByteArray(inputStream)));
        javaMailSender.send(mimeMessage);
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/SpringBoot/202306/6754.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者