[Go Revel] メール送信の実装方法

まずメール送信用のルートを作成

GET		/mail				  App.Mail

app.go
– net/smtpをimport
– パスワードはアプリ固有のパスワード

import (
	"github.com/revel/revel"
	"net/smtp"
)
func (c App) Mail() revel.Result {

	name := "hpscript"
	email := "test@hpscript.com"
	comments := "桜木町の夜景は良いですね"

	auth := smtp.PlainAuth (
		"",
		"myaddress@gmail.com", // gmailのアドレス
		"hogehoge", // アプリ固有のパスワード
		"smtp.gmail.com",
	)

	msg := []byte("From: info@hpscript.com\r\n" +
		"To: info@hpscript.com\r\n" +
		"Subject: SMTPテスト\r\n" +
		"\r\n" +
		"名前: " + name + "\r\n" +
		"メールアドレス" + email + "\r\n" +
		"問い合わせ内容: " + comments + "\r\n")

	err := smtp.SendMail(
		"smtp.gmail.com:587",
		auth,
		"info@hpscrpt.com",
		[]string{"fugafuga@hotmail.com"}, // 宛先
		msg,
	)

	if err != nil {
		fmt.Println(err)
	}
	return c.Render()
}

これmailtrapでも送れそうだな