我尝试在Go中创建一个SMTP发件人。这是代码的一部分:
client, err := smtp.NewClient(remote, smtpServer.Host)
if err != nil {
return err
}
defer client.Close()
auth := SmtpLoginAuth(smtpServer.Username, smtpServer.Password)
authErr := client.Auth(auth)
if authErr != nil {
fmt.Println("login error", authErr)
return authErr
}
client.Mail(data.From())
client.Rcpt(data.To())
bodyWriter, err := client.Data()
if err != nil {
fmt.Println("body error", err)
return err
}
我的问题是:我想更改服务器的问候消息,此刻我的应用程序从本地主机发送,我想发送服务器的DNS域,但我不知道该怎么办。
我要更改本地主机字符串的示例位置:https://jmp.sh/sugc8Ax
答案 0 :(得分:1)
只需使用Hello(name)
即可设置EHLO / HELO命令中使用的名称。来自the documentation:
func(c * Client)你好(localName字符串)错误
Hello将HELO或EHLO作为给定的主机名发送到服务器。仅当客户端需要控制所使用的主机名时,才需要调用此方法。否则,客户端将自动将其自身介绍为“ localhost”。如果调用Hello,则必须先调用它。
因此,您所需要做的就是这样:
client, err := smtp.NewClient(remote, smtpServer.Host)
...
client.Hello("foobar.example.com")