欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Springboot实现QQ邮箱的发送

程序员文章站 2022-07-08 11:58:23
...

Springboot实现QQ邮箱的发送

准备工作

开启PO3/SMTP服务
打开qq邮箱>账户
Springboot实现QQ邮箱的发送
Springboot实现QQ邮箱的发送
Springboot实现QQ邮箱的发送
记住这串授权码 会用到

实现步骤

  1. 创建一个Springboot项目
    Springboot实现QQ邮箱的发送
    勾选web依赖
    Springboot实现QQ邮箱的发送
  2. 导入QQ邮件所需依赖
    Springboot实现QQ邮箱的发送
  <!--qq邮件发送所需依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
  1. 配置application.properties
    Springboot实现QQ邮箱的发送
#配置邮件消息
spring.mail.host=smtp.qq.com
#发送邮件者信箱
spring.mail.username=xxxxxxxxx@qq.com
#PO3/SMTP服务时邮箱的授权码
spring.mail.password=xxxxxxxxxxxxxxxx
spring.mail.default-encoding=UTF-8
spring.mail.port=465
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.debug=true
  1. 编写controller
    Springboot实现QQ邮箱的发送
@RestController
public class EmailController {
    @Autowired
    JavaMailSender mailSender;//注入QQ发送邮件的bean
    //定义发送的内容 我这里发送一张图片 需要html标签
    public static String body="<img src='https://images.cnblogs.com/cnblogs_com/joker-dj/1691556/t_20040706414135.png' alt=''>";

    @RequestMapping("/qqemail")
    public Object qqemail(@RequestParam String qq,String title) {
        try {
            MimeMessage mimeMessage = this.mailSender.createMimeMessage();
            MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
            message.setFrom("******@qq.com");//设置发件qq邮箱
            qq+="@qq.com";					//补全地址
            message.setTo(qq);				//设置收件人
            message.setSubject(title);	//设置标题
            message.setText(body,true);  	//第二个参数true表示使用HTML语言来编写邮件
//            FileSystemResource file = new FileSystemResource(
//            File file = new File("图片路径");
//            helper.addAttachment("图片.jpg", file);//添加带附件的邮件
//            helper.addInline("picture",file);//添加带静态资源的邮件
            this.mailSender.send(mimeMessage);
            return "发送成功";
        } catch (Exception ex) {
            ex.printStackTrace();
            return "发送成功";
        }
    }

}

  1. 编写前端页面
    Springboot实现QQ邮箱的发送
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>QQ邮件发送</title>
</head>
<body>
<form action="qqemail">
    <input type="text" placeholder="请输入收件人qq号"name="qq" value="">
    <input type="text" placeholder="请输入邮件标题" name="title">
    <input type="submit" value="发送">
</form>
</body>
</html>
  1. 启动运行 浏览器输入 http://localhost:8080/qqEmail.html
    Springboot实现QQ邮箱的发送
    输入qq号 和标题 点击发送
    Springboot实现QQ邮箱的发送
    已收到发送来的图片Springboot实现QQ邮箱的发送