Springboot实现发送邮件

第一步:

创建Springboot项目时候,勾选I/O下的Java Mail Sender选项;

pom就会自动添加的依赖:

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

第二步:

修改yml配置文件

spring:
    mail:
        #配置服务器qq:smtp.qq.com,网易163:smtp.163.com
        host: smtp.qq.com  

        #授权码,邮箱->设置->账户->POP3/SMTP服务:开启服务后会获得权码
        password: 授权码
        username: 邮箱账户名
        default-encoding: UTF-8

测试发送邮件:

@SpringBootTest
class SpringBootEmailApplicationTests {

    //从ioc容器中获取JavaMailSender 对象来实现发送邮件
    @Autowired
    private JavaMailSender javaMailSender;

    @Test
    void contextLoads() {
        System.out.println(javaMailSender);
    }

    /**
     * 发送基本文本内容
     */
    @Test
    void testSend() {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        // 发件人邮箱
        simpleMailMessage.setFrom("发件人邮箱");
        // 收件人邮箱
        simpleMailMessage.setTo("收件人邮箱");
        // 邮件主题
        simpleMailMessage.setSubject("这是一个测试邮件");
        // 邮件内容
        simpleMailMessage.setText("测试内容");
        javaMailSender.send(simpleMailMessage);
    }


    /**
     * 测试发送复杂内容,例如图片和附件等
     */
    @Test
    void testSend2() throws MessagingException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        // 创建一个邮件工具,可以发送附件
        MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,true,"utf-8");
        mimeMessageHelper.setFrom("发件人邮箱");
        mimeMessageHelper.setTo("收件人邮箱");

        mimeMessage.setSubject("这是一个携带了图片和附件的邮件");
        //拼接内容参数
        StringBuilder sb = new StringBuilder();
        sb.append("<html> <body> <h1 style='color:red'>springboot 测试邮件发送复杂格式o</h1>");
        sb.append("<p style='color:blue,font-size:16px'>哈哈哈</p>");
        sb.append("<p style='text-align:center'>居中</p>");
        sb.append("<img src='cid:picture'/> </body></html>");  //如果要插入图片src='cid:picture'
        //设置内容,可以被html解析
        mimeMessageHelper.setText(sb.toString(), true);
        // 从本地磁盘中读取到图片 占位到内容中去,替换cid:picture
        mimeMessageHelper.addInline("picture",new File("d:\\img\\abc.jpg"));
        // 添加附件
        mimeMessageHelper.addAttachment("测试文件.xls",new File("D:\\测试文件.xls"));
        javaMailSender.send(mimeMessage);
    }
}

补充:授权码的获取

www.baidu.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值