Spring boot邮件使用(一)

完整代码

一、邮件发送之文本邮件

即最简单的邮件发送,只有标题和文本内容,就当入门。
首先引入依赖,然后在配置文件中配置,最后测试就可以了。
pom引入依赖:

		<!--发送邮件-->
        <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=xxxxxxxxxxxxx
#编码格式
spring.mail.default-encoding=UTF-8

写邮件发送的方法:

@Service
public class FirstEmailService {

    @Value("${spring.mail.username}")  //在项目启动时将配置文件中的信息注入到这里
    private String from;

    @Autowired
    private JavaMailSender javaMailSender;  //用来发送邮件

    //发送简单邮件
    public void sendSimpleMail(String to,String title,String content){
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setTo(to);
        simpleMailMessage.setSubject(title);
        simpleMailMessage.setText(content);
        simpleMailMessage.setFrom(from);

        javaMailSender.send(simpleMailMessage);
    }
}

开始测试,以及运行后的结果:

 @Test
    public void testFirstEmail() {
        emailService.sendSimpleMail("1757620885@qq.com","test--first email","测试邮件发送----第一封");
    }

在这里插入图片描述

二、邮件发送之html邮件

只需要添加方法即可:

//发送html邮件
    public void sendHtmlMail(String to,String title,String content) throws MessagingException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
        helper.setTo(to);
        helper.setSubject(title);
        helper.setText(content,true);
        helper.setFrom(from);

        javaMailSender.send(mimeMessage);
    }

然后测试:

    @Test
    public void testSecondEmail() throws MessagingException {
        String content = "<html>\n<head></head>\n" +
                "<body>\n " +
                "<h1>测试邮件发送----第二封</h1>\n" +
                "<table>\n" +
                "<tr>\n" +
                "<td>1</td><td>2</td>" +
                "</tr>\n" +
                "<tr>\n" +
                "<td>lj</td><td>test</td>" +
                "</tr>\n" +
                "</table>\n" +
                "</body>\n" +
                "</html>\n";
        emailService.sendHtmlMail("1757620885@qq.com", "test--second email", content);
    }

在这里插入图片描述

三、邮件发送之附件邮件

添加发送附件的方法

//发送附件邮件
    public void sendAttachmentsMail(String to,String title,String content,String filepath) throws MessagingException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
        helper.setTo(to);
        helper.setSubject(title);
        helper.setText(content,true);

        FileSystemResource fileSystemResource = new FileSystemResource(new File(filepath));
        String filename = fileSystemResource.getFilename();//获得文件名称
        helper.addAttachment(filename,fileSystemResource);
//   helper.addAttachment(filename+“test”,fileSystemResource);  发送多个附件内容

        helper.setFrom(from);

        javaMailSender.send(mimeMessage);
    }

测试

  @Test
    public void testThirdEmail() throws MessagingException {
        String content = "<html>\n<head></head>\n" +
                "<body border=\"1\">\n " +
                "<h1>测试邮件发送----第二封</h1>\n" +
                "<table>\n" +
                "<tr>\n" +
                "<td>1</td><td>2</td>" +
                "</tr>\n" +
                "<tr>\n" +
                "<td>lj</td><td>test</td>" +
                "</tr>\n" +
                "</table>\n" +
                "</body>\n" +
                "</html>\n";
        emailService.sendHtmlMail("1757620885@qq.com", "test--second email", content);
    }

在这里插入图片描述

四、邮件发送之图片邮件

添加方法:

   //发送图片邮件
    public void sendPictureMail(String to,String title,String content,String rscPath,String rscId) throws MessagingException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
        helper.setTo(to);
        helper.setSubject(title);
        helper.setText(content,true);

        FileSystemResource rsc = new FileSystemResource(new File(rscPath));
        helper.addInline(rscId,rsc);

        helper.setFrom(from);

        javaMailSender.send(mimeMessage);
    }

测试:

@Test
    public void testForthEmail() throws MessagingException {
        String rscId = "picture001";
        String content = "<html>\n<head></head>\n" +
                "<body border=\"1\">\n " +
                "<h1>测试邮件发送----第四封</h1>\n" +
                "<h1>\n" +
                "发送图片邮件\n" +
                "<img src=\"cid:"+rscId+"\"></img>\n"+
                "</h1>\n" +
                "</body>\n" +
                "</html>\n";
        emailService.sendPictureMail("1757620885@qq.com", "test--forth email", content,"C:\\Users\\lj\\Desktop\\22.jpg",rscId);
    }

在这里插入图片描述
在这里插入图片描述

GOOD LUCK!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值