1 回答

TA贡献1866条经验 获得超5个赞
您使用的端口 465 从一开始就需要 TLS(隐式 TLS),而不是在 STARTTLS 命令(显式 TLS)之后使用通常的 TLS。这意味着Conn您使用的对象dialer应该已经升级到 TLS。去做这个:
import "crypto/tls"
...
func Connect() {
dialer, err := Socks("127.0.0.1:9050", "smtp.gmail.com:465")
...
conf := &tls.Config{ServerName: "smtp.gmail.com"}
tlsdialer := tls.Client(dialer, conf)
client, err := smtp.NewClient(tlsdialer, "smtp.gmail.com:465")
或者,您可以使用需要显式 TLS 的端口 587:
func Connect() {
dialer, err := Socks("127.0.0.1:9050", "smtp.gmail.com:587")
...
conf := &tls.Config{ServerName: "smtp.gmail.com"}
err = client.StartTLS(conf)
...
auth := smtp.PlainAuth("", "mymailaddr@gmail.com", "", "smtp.gmail.com:587")
if err = client.Auth(auth); err != nil {
...
- 1 回答
- 0 关注
- 148 浏览
添加回答
举报