栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring boot 学习中的问题一

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring boot 学习中的问题一

Spring boot 学习中的问题一

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

参考书:

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

org.springframework.boot
spring-boot-starter-mail

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这里配置也要记得
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987746.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号