UTF8メール送信ライブラリを作って go get 出来るようにしてみた

純正のAPIのnet/smtpはASCIIのメールを送るには問題ないのですが
日本語のメールを送る際に困るのでUTF8形式で
日本語メールを送れるライブラリを作ってみました。


今回テストはgospelを使って書いてみました。
Go言語の理解がまだまだなのでもっと良く出来る部分はあるかと思います。


GitHub - bose999/GoSendMail: simple smtp sendmail tool
Githubに置いてあります。


下記のような感じでUTF8で日本語メール等が送れます。

// smtpServer info : IP Address, port, userName, Password
smtpServer := gosendmail.NewSmtpSever("xxx.xxx.xxx.xxx", 25, "yyy", "zzz")

// sendmail info : from address, to address, cc address, subject, body
sendMail := gosendmail.NewSendMail("abc@xxx.xxx", []string{"abc@xxx.xxx"},
  []string{"xyz@gxxx.xxx"}, "UTF8のSubject", "UTF8の本文")

// send smtp mail
err := gosendmail.SendSmtp(smtpServer, sendMail)
if err != nil {
    log.Fatal(err)
     os.Exit(1)
}


Githubにおけば

% go get github.com/bose999/gosendmail

これでネットワークが繋がってればライブラリを
GOPATH配下に引き取れます。便利ですね!


このライブラリも業務で使おうかなと思って作ったものなので
必要があれば更新したり別のものも作ったりとしていこうと思います。