繁体   English   中英

尝试连接到邮件陷阱 smtp 时,获得的第一条记录看起来不像 TLS 握手

[英]got first record does not look like a TLS handshake when trying to connect to mailtrap smtp

我有以下用于创建 SMTP 连接的代码:

func NewSMTPClient(host, username, password string, port int) (*smtp.Client, error) {
    tlsConfig := &tls.Config{ServerName: host}

    conn, err := tls.Dial("tcp", fmt.Sprintf("%s:%d", host, port), tlsConfig)
    if err != nil {
        return nil, fmt.Errorf("smtp client: tcp dial: %s", err.Error())
    }

    c, err := smtp.NewClient(conn, host)
    if err != nil {
        return nil, fmt.Errorf("smtp client: new client: %s", err.Error())
    }

    auth := smtp.PlainAuth("", username, password, host)
    if err = c.Auth(auth); err != nil {
        return nil, fmt.Errorf("smtp client: get auth: %s", err.Error())
    }

    return &c, nil
}

此代码在Yandex SMTP 服务器上运行良好。 但是,当我尝试在单元测试中使用MailTrap进行测试时(因为我不想在每次测试代码时实际将 email 发送给人们),我得到了这个错误:

smtp client: tcp dial: tls: first record does not look like a TLS handshake

编辑1:

我试图将InsecureSkipVerify设置为true ,但仍然遇到同样的错误; 虽然MailTrap配置说我应该能够使用TLS

TLS: Optional (STARTTLS on all ports)

您尝试连接的 SMTP 服务器可能不支持 STARTTLS。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM