Spring boot 学习中的问题一

Spring boot 学习中的问题一

使用spring-boot-starter-mail发送邮件

参考书:

  • 《Spring boot从零开始学》郭浩然 清华大学出版社

POM配置

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

application.properties配置(以QQ邮箱为例)

spring.mail.host=smtp.qq.com
spring.mail.port=587
spring.mail.username=24123412@qq.com
spring.mail.password=shdvu6sasdsjys

注意上方port和协议要对应,不一定是587
在这里插入图片描述

username是你的邮箱账户,密码这里强调一下,这里用的是授权码
电脑端打开,找到设置——账户,之后找到这里
在这里插入图片描述

好,很棒,我拿不到我的QQ邮箱授权码。好尴尬在这里插入图片描述

我以网易邮箱来

在这里插入图片描述

网易邮箱用25端口设置是ok的,密码还是尽量用授权码,不要用账户密码。获取授权码方式都差不多。25端口是非SSL加密的,用994和465是SSL加密的,我这里会报以greeting之类的错误,我没时间研究了。所以只用25端口

在这里插入图片描述

写邮件相关的java文件

这里其实只要让Application那个文件在最外层,就OK,所以我是这么建的,
把MailService.java放在一个services包在里面
在这里插入图片描述

在这里插入图片描述

这是MailService.java的具体内容

@Service
public class MailService {
    @Value("${spring.mail.username}")
    private String fromAddress;
   @Autowired
    private MailSender mailSender;
   public String sendMail(String toAddress, String subject, String content) {
       SimpleMailMessage message = new SimpleMailMessage();
       message.setFrom(fromAddress);
       message.setTo(toAddress);
       message.setSubject(subject);
       message.setText(content);
       try {
           this.mailSender.send(message);
           return "success";
       }catch (MailException e) {
           e.printStackTrace();
           return "fail";

       }
   }
}

这里这个自动装配的问题,只要你文件层级没什么毛病,可以忽略,我一下子想不明白为什么,所以我这里没有处理,邮件还是可以发送的,终端也没有报错。如果有前辈知道,可以发一下,谢谢啦。
在这里插入图片描述

接下来就是测试文件了

在这里插入图片描述


//这邮箱就是收件人邮箱

@Test
    void testSendMail() {
        String sendTo = "nosjdhvdsv@gmail.com";
        String subject = "这是测试邮件的主题";
        String content = "这是测试内容";
        mailService.sendMail(sendTo, subject, content);
        System.out.println("邮件发送完成");
    }

}

效果如下

在这里插入图片描述

终端显示很多,但都没有红,没红就是没有错,有错我也没看见。

经典的错误:

  • 端口号问题。
  • 密码问题。QQ邮箱就不允许你用账户密码在第三方上登录,只能用授权码,这个授权码,我打开居然是白的,不给我验证,我吐了。只能弃暗投明,改用网易邮箱来。
  • 文件层级的问题。application.java请务必放到和controller、services、job等软件包外面。
  • application.properties这里配置也要记得
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值