Java-SpringBoot发送邮件代码

所有邮件的发送都需要有运营商的支持,例如qq邮箱,163等。要发送邮件需要先获取服务上提供的授权码。以qq邮箱为例:
登陆QQ邮箱,设置–账户–开启POP3/SMTP服务 拿到授权码
Java-SpringBoot发送邮件代码_第1张图片
开启服务
Java-SpringBoot发送邮件代码_第2张图片发送验证短信
Java-SpringBoot发送邮件代码_第3张图片点我已发送,拿到授权码:

                第一步 : 导入jar包
   <!--对邮件的支持jar-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

第二步:创建配置文件 application.properties 优先级比application.yml更高,两个都会加载

# 设置邮箱主机(服务商)
spring.mail.host=smtp.qq.com
# 设置用户名,每个人不同
[email protected]

# 设置密码,该处的密码是QQ邮箱开启SMTP的授权码而非QQ密码(授权码)
spring.mail.password=qzbxiwjfrwe

# 必须进行授权认证,它的目的就是阻止他人任意乱发邮件
spring.mail.properties.mail.smtp.auth=true

#SMTP加密方式:连接到一个TLS保护连接
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

前面三项不是固定的,后三项是固定的

发送普通邮件,SimpleMessage不支持html代码,不支持携带附件
JavaMailSender 是jar包写好的 直接注入就可以使用

@Autowired
private JavaMailSender mailSender;
//发送简单邮件
@Test
public void SimpleMail(){
    SimpleMailMessage message = new SimpleMailMessage();
    //设置发件人
    message.setFrom("[email protected]");
    //设置收件人
    message.setTo("[email protected]");
    //设置标题
    message.setSubject("发送简单邮件");
    //设置内容
    message.setText("

今天是个好天气,不会解析HTML

"
); //发送 mailSender.send(message); }

发送复杂邮件 MimeMessage ,支持携带附近

//发送复杂邮件
    @Test
    public void MimeMessage() throws MessagingException {
        //创建一个复杂的空邮件
        MimeMessage message = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true, "utf-8");
        //设置发件人
        helper.setFrom("[email protected]");
        //设置收件人
        helper.setTo("[email protected]");
        //设置标题
        helper.setSubject("明天你是否会想起,昨天你写的日记");
        //设置内容  html  解析html true
        helper.setText("

今天是个好天气,已经解析HTML

"
+ "点我进入百度",true); //添加附件,filename必须加上后缀,不然会出问题 helper.addAttachment("大飞机.jpg", new File("C:\\Users\\Administrator\\Desktop\\b2\\A380.jpg")); helper.addAttachment("F22.jpg", new File("C:\\Users\\Administrator\\Desktop\\b2\\F22.jpg")); //发送邮件 mailSender.send(message); }

你可能感兴趣的:(技术文章,工具,JAVA后台,java,spring,boot,spring)