Gmailアカウントにテストメールを送信したい
したがって、https: //golang.org/src/net/smtp/example_test.goからこのスニペットを試しました
func ExampleSendMail() {
// Set up authentication information.
auth := smtp.PlainAuth("", "[email protected]", "password", "mail.example.com")
// Connect to the server, authenticate, set the sender and recipient,
// and send the email all in one step.
to := []string{"[email protected]"}
msg := []byte("To: [email protected]\r\n" +
"Subject: discount Gophers!\r\n" +
"\r\n" +
"This is the email body.\r\n")
err := smtp.SendMail("mail.example.com:25", auth, "[email protected]", to, msg)
if err != nil {
log.Fatal(err)
}
}
しかしながら。このエラーメッセージが表示されます。
dial tcp 74.125.23.109:25: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
この問題の根本的な原因を理解するのを手伝ってください。
実際のコードでは、mail.example.comの代わりに実サーバーのドメインとポートを使用していると仮定します。
エラーメッセージから、接続しようとしたSMTPサーバーが応答せず、要求がタイムアウトしたことは明らかです。正しいポート(SendMail呼び出しのmail.example.com:25の部分)で有効なSMTPサーバーに接続していることを確認する必要があります。
確認する簡単な方法の1つは、ターミナルに移動して実行することです。
telnet server.anexampledomain.net 25 # replace with domain and port in question
次のような答えが得られるかどうかを確認してください。
Trying 74.125.23.109...
Connected to 74.125.23.109.
Escape character is '^]'.
220 smtp.gmail.com ESMTP x3sm2050129pfp.98 - gsmtp
これは、サーバーがアクセス可能であり、SMTP接続に対して開いていることを示しています。
適切なサーバードメインとポートを作成し、上記でサーバーに接続できない場合、問題はネットワークにあり、作成したコードではありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加