Spring Boot笔记-发送纯字符串邮件及带附件邮件

首先引入Maven包:

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

这里以QQ邮箱为例,要开通smtp的服务,这里还有要注意的。

尽量不要用刚刚注册的邮箱,不然会被供应商退回的。

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);
    }
}

这里要注意的,不同供应商的邮箱,发送附件和邮件数是有限的。这个要注意!

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页