清风徐来
Michael's Blog
Demo 学 Echo Part15 发送mail

请输入图片描述 可用用"net/smtp"包,功能比较原始。我们用第三方包gomail,更强大。

package main

import (
	"log"

	"gopkg.in/gomail.v2"
)

const CONFIG_SMTP_HOST = "smtp.163.com"
const CONFIG_SMTP_PORT = 465
const CONFIG_EMAIL = "kissjava@163.com"
const CONFIG_PASSWORD = "Mpassword3"

func main() {
	mailer := gomail.NewMessage()
	mailer.SetHeader("From", CONFIG_EMAIL)
	mailer.SetHeader("To", "kissjava.net@gmail.com", "hellowiki@qq.com")
	mailer.SetAddressHeader("Cc", "hellowiki@icloud.com", "HelloWiki")
	mailer.SetHeader("Subject", "Test mail测试")
	mailer.SetBody("text/html", "Hello, <b>have a nice day</b>")
	mailer.Attach("./assets/terminal.png")

	dialer := gomail.NewDialer(
		CONFIG_SMTP_HOST,
		CONFIG_SMTP_PORT,
		CONFIG_EMAIL,
		CONFIG_PASSWORD,
	)

	err := dialer.DialAndSend(mailer)
	if err != nil {
		log.Println("Send faild.")
		log.Fatal(err.Error())
	}

	log.Println("Mail sent!")
}


最后修改于 2019-08-18