[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 協議》,轉載必須註明作者和本文連結