1 回答

TA貢獻1866條經(jīng)驗 獲得超5個贊
您使用的端口 465 從一開始就需要 TLS(隱式 TLS),而不是在 STARTTLS 命令(顯式 TLS)之后使用通常的 TLS。這意味著Conn您使用的對象dialer應(yīng)該已經(jīng)升級到 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 關(guān)注
- 145 瀏覽
添加回答
舉報