我使用 go'snet/smtp
发送电子邮件,它适用于某些电子邮件,但不适用于其他电子邮件。我收到了,554 5.5.1 Error: no valid recipients
但我很确定我提供了正确的邮件地址。
(最终目标是使net/smtp
所有邮件收件人都能正常工作。因此也欢迎对此的回答)
如何调试后台发生的事情?向 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)
}
}
我知道这是一个非常模糊的问题,但非常感谢任何帮助。