go's を使用net/smtp
してメールを送信していますが、一部のメールでは正常に機能しますが、他のメールでは機能しません。を受け取りました554 5.5.1 Error: no valid recipients
が、正しいメールアドレスを提供したと確信しています。
(最終的な目標はnet/smtp
、すべてのメール受信者のために機能するようにすることです。したがって、それに関する回答も大歓迎です)
バックグラウンドで何が起こっているかをデバッグするにはどうすればよいですか? SMTP サーバーとの間で送受信されるコマンドは何ですか? コマンド ライン (telnet) からコマンドを再生して、エラーの詳細を確認したいと思います。
これは私が使用するコードです(go-wiki から):
package main
import (
"bytes"
"log"
"net/smtp"
)
func main() {
// Connect to the remote SMTP server.
c, err := smtp.Dial("mail.example.com:25")
if err != nil {
log.Fatal(err)
}
// Set the sender and recipient.
c.Mail("sender@example.org")
c.Rcpt("recipient@example.net")
// Send the email body.
wc, err := c.Data()
if err != nil {
log.Fatal(err)
}
defer wc.Close()
buf := bytes.NewBufferString("This is the email body.")
if _, err = buf.WriteTo(wc); err != nil {
log.Fatal(err)
}
}
これは非常に漠然とした質問であることは承知していますが、どんな助けでも大歓迎です。