1. 程式人生 > >golang 使用 gomail 傳送郵件

golang 使用 gomail 傳送郵件

下面以阿里雲郵箱為例, 如果使用的是qq郵箱的話需要把mailConn裡面的host改成'smpt.qq.com',user 填寫qq郵箱地址, pass需要填寫你在qq郵箱設定裡面獲取到的授權碼,qq郵箱需要先去郵箱設定裡面開通smtp支援,然後獲取授權碼。然後就可以用qq郵箱傳送了。

安裝gomail

go get gopkg.in/gomail.v2

package main

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

func SendMail(mailTo []string,subject string, body string ) error {
  //定義郵箱伺服器連線資訊,如果是阿里郵箱 pass填密碼,qq郵箱填授權碼
    mailConn := map[string]string {
        "user": "
[email protected]
", "pass": "xxxx", "host": "smtp.mxhichina.com", "port": "465", } port, _ := strconv.Atoi(mailConn["port"]) //轉換埠型別為int m := gomail.NewMessage() m.SetHeader("From","XD Game" + "<" + mailConn["user"] + ">") //這種方式可以新增別名,即“XD Game”, 也可以直接用<code>m.SetHeader("From",mailConn["user"])</code> 讀者可以自行實驗下效果 m.SetHeader("To", mailTo...) //傳送給多個使用者 m.SetHeader("Subject", subject) //設定郵件主題 m.SetBody("text/html", body) //設定郵件正文 d := gomail.NewDialer(mailConn["host"], port, mailConn["user"], mailConn["pass"]) err := d.DialAndSend(m) return err } func main() { //定義收件人 mailTo := []string { "
[email protected]
", "[email protected]", "[email protected]", } //郵件主題為"Hello" subject := "Hello" // 郵件正文 body := "Good" SendMail(mailTo, subject, body) }

更多功能可以參考 https://github.com/go-gomail/gomail