i++

プログラム系のメモ書きなど

golang : gmail でメールを送信する

#golang メールを送信するには の通りにやれば良い。

ただし、2段階認証を有効にしている場合には <password> の部分にアプリパスワードを使う必要がある。アプリパスワードの発行 はリンク先から。アプリパスワードについての説明は アプリ パスワードでログイン 辺りを参照。

また、Subject などを含めるには smtp.SendMailmsg に指定する。これについては smtp - The Go Programming Language を参照。

func sendMail(subject, message string) error {
    auth := smtp.PlainAuth(
        "",
        "<sender>@gmail.com", // 送信に使うアカウント
        "<password>", // アカウントのパスワード or アプリケーションパスワード
        "smtp.gmail.com",
    )

    return smtp.SendMail(
        "smtp.gmail.com:587",
        auth,
        "<sender>@gmail.com", // 送信元
        []string{"<recipient>@gmail.com"}, // 送信先
        []byte(
            "To: <recipient>@gmail.com\r\n" +
            "Subject:" + subject + "\r\n" +
            "\r\n" +
            message),
    )
}