Springboot實現QQ郵箱的發送


准備工作

開啟PO3/SMTP服務
打開qq郵箱>賬戶
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
記住這串授權碼 會用到

實現步驟

  1. 創建一個Springboot項目
    在這里插入圖片描述
    勾選web依賴
    在這里插入圖片描述
  2. 導入QQ郵件所需依賴
    在這里插入圖片描述
  <!--qq郵件發送所需依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
  1. 配置application.properties
    在這里插入圖片描述
#配置郵件消息
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
    在這里插入圖片描述
@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. 編寫前端頁面
    在這里插入圖片描述
<!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
    在這里插入圖片描述
    輸入qq號 和標題 點擊發送
    在這里插入圖片描述
    已收到發送來的圖片在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM