golang傳送郵件(qq郵箱)

小魔童哪吒發表於2021-03-07
[TOC]

前期準備

golang傳送郵件的功能,我們今天介紹golang傳送qq郵件,相信大家都有qq郵箱吧,操作起來比較便捷,使用golang傳送郵件更是簡單,相信大家看完都能上手操作並學會。

通過編碼的方式傳送郵件,即實際是呼叫qq郵箱提供的介面來進行郵件的傳送,我們在編寫該功能前,需要拿到qq郵箱的POP3/SMTP服務的授權碼

  • 進入自己的qq郵箱->設定->賬戶->往下滑

  • 開啟自己qq郵箱的POP3/SMTP服務,並拿到自己qq郵箱的授權碼(支援臨時生成),授權碼長期有效建議儲存

程式碼編寫

package main

import (
   "fmt"
   "gopkg.in/gomail.v2"
)

func main() {
   m := gomail.NewMessage()

   //傳送人
   m.SetHeader("From", "xxx@qq.com")
   //接收人
   m.SetHeader("To", "xxx@qq.com")
   //抄送人
   //m.SetAddressHeader("Cc", "xxx@qq.com", "xiaozhujiao")
   //主題
   m.SetHeader("Subject", "小佩奇")
   //內容
   m.SetBody("text/html", "<h1>新年快樂</h1>")
   //附件
   //m.Attach("./myIpPic.png")

   //拿到token,並進行連線,第4個引數是填授權碼
   d := gomail.NewDialer("smtp.qq.com", 587, "xxx@qq.com", "xxxxxx")

   // 傳送郵件
   if err := d.DialAndSend(m); err != nil {
      fmt.Printf("DialAndSend err %v:", err)
      panic(err)
   }
   fmt.Printf("send mail success\n")
}

效果展示

大家若是有有趣的想法使用golang實現,可以反饋,我們可以一起嘗試和學習。

作者:小魔童哪吒

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章