使用SpringBoot发送邮件

4 篇文章 0 订阅
  1. 在pom中引入用于发送邮件的starter
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
  1. 在application.yml(或者application.properties)中添加对于邮件的配置
spring:
  mail:
    #邮箱的账号
    username: xxxxxxxxxx@163.com
    #邮箱的授权码,需要开启POP3/SMTP/IMAP服务才能正常发送邮件,
    password: xxxxxxxxxxxx
    #邮箱的服务器地址  我这里是163邮箱所以用的是163的邮箱地址
    host: smtp.163.com
  1. 编写邮箱发送代码
//将这个类交给spring管理
@Component
public class TestMailSend {

    @Autowired
    JavaMailSender mailSender; //注入邮件发送组件
    
    public void sendMail() {
        System.out.println("开始发送邮件。。。");
        try {
        	//简单邮件  单纯的文字
            /*SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
            simpleMailMessage.setTo("xxxxxxx@qq.com");//发送给谁
            simpleMailMessage.setSubject("这是标题");//标题
            simpleMailMessage.setText("这是内容");//内容
            simpleMailMessage.setFrom("xxxxx@163.com");//由谁发送
            mailSender.send(simpleMailMessage);*/
            //发送复杂邮件 带html样式和附件
            MimeMessage mimeMessage = mailSender.createMimeMessage();
           	//参数解析  第一个参数 mimeMessage 是邮件的发送类,第二个参数是是否要上传附件,这里为是
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
            helper.setTo("xxxxx@qq.com");//发送给谁
            helper.setFrom("xxxx@163.com");//发送者是谁
            helper.setSubject("斯嘉丽");//邮件标题
            helper.setText("<h1>这是内容</h1><br><font color='red'>这是正文</font>",true);//邮件内容 or 是否是html格式
            helper.addAttachment("斯嘉丽",//附件名称 or 附件信息,除了file 也可以是流的形式
                    new File("C:\\Users\\12485\\Downloads\\Telegram Desktop\\斯嘉丽123.pdf"));
            mailSender.send(mimeMessage);
            System.out.println("邮件发送成功。。。");
        } catch (Exception e) {
            System.out.println("邮件发送失败。。。" + e.getMessage());
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值