smtp.SendMail() だと SSL を使える場合になんかエラーが出て送れなかったので SendMail() 内の認証部分とSSL部分を除いたコード部を書くと送信できた.
package main import ( "net/smtp" "log" "os" "net" ) func main() { conn, err := net.Dial("tcp", "localhost:25") if err != nil { log.Println(err) os.Exit(1); } client, _ := smtp.NewClient(conn, "localhost") if err = client.Mail("from@example.com"); err != nil { log.Println(err) os.Exit(1); } if err = client.Rcpt("to@example.com"); err != nil { log.Println(err) os.Exit(1); } w, err := client.Data() if err != nil { log.Println(err) os.Exit(1); } _, err = w.Write([]byte("hello")) w.Close() result := client.Quit() log.Println(result) }