前置准备
使用 QQ 邮箱发送邮件需要先开启 POP3/IMAP/SMTP 服务,并在授权码管理页面生成授权码。
- 开启位置:QQ 邮箱 → 设置 → 账户 → POP3/IMAP/SMTP/Exchange/CardDAV 服务
- 生成的授权码作为配置中的
password
配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13
| mail: host: smtp.qq.com port: 465 username: 1271631984@qq.com password: tysatqekxlsbfjig properties: mail: smtp: auth: true socketFactory: class: javax.net.ssl.SSLSocketFactory fallback: false port: 465
|
发送示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| void email() { final String username = "1271631984@qq.com"; final String password = "tysatqekxlsbfjig"; final String to = "2166702512@qq.com";
MimeMessage mimeMessage = javaMailSender.createMimeMessage(); MimeMessageHelper mimeMessageHelper; try { mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); mimeMessageHelper.setTo(to); mimeMessageHelper.setFrom(username); mimeMessageHelper.setSubject("匹配成功!脱离单身系列"); mimeMessageHelper.setText("周*浚 你好," + "\n\n介于你之前在网上对于单身现状的苦恼困惑 " + "我司根据你之前所填写信息 现已为你匹配到合适的另一半 " + "可通过添加对方qq好友进行进一步了解 QQ:2107886532"); javaMailSender.send(mimeMessage); System.out.println("发送成功"); } catch (MessagingException e) { e.printStackTrace(); System.out.println("邮件发送失败"); } }
|
小结
- 密码使用 QQ 邮箱的授权码,不是登录密码
- 生产环境应将邮件发送封装成独立方法,接收发送对象和内容参数