golang 有提供net/smtp ,可以直接使用來撰寫
發送email 的程式.
網路上也有人開發了,再加工的模組,提供更高階抽象
的使用方式.
今天我們來看看如何安裝別人已經開發好的套件.
登入root
# go get github.com/alexcesaro/mail/gomail
# go install github.com/alexcesaro/mail/gomail
這樣就安裝好了.
接著來看程式碼:
// hello62
package main
import (
"log"
"github.com/alexcesaro/mail/gomail"
)
func main() {
msg := gomail.NewMessage()
msg.SetAddressHeader("From", "postgre.sql8@msa.hinet.net", "Bunko")
msg.SetHeader("To", "hitomitanaka666@gmail.com")
msg.AddHeader("To", "bunko666@gmail.com")
msg.SetHeader("Subject", "Hello!")
msg.SetBody("text/plain", "Hello Bunko!")
msg.AddAlternative("text/html", "Hello <b>Bunko</b>!")
if err := msg.Attach("p1.jpg"); err != nil {
log.Println(err)
return
}
m := gomail.NewMailer("msa.hinet.net", "postgre.sql8", "yourpasswd", 25)
if err := m.Send(msg); err != nil {
log.Println(err)
}
}
有提供text/plain與text/html方式,還可以加上附件.
編譯執行後,收件者就收到mail了.