错误:服务器不支持安全连接

nas*_*ski 0 asp.net gmail system.net.mail

好的,我已经使用以下脚本一年多来从我的主机发送电子邮件(通过gmail),它工作得很好(Settings.Get()只返回字符串):

public class Email : SmtpClient
{
    public MailMessage Message { get; private set; }

    public Email(string to, string from, string subject, string body) : base(Settings.Get("smtp"), 25)
    {
        this.EnableSsl = Convert.ToBoolean(Settings.Get("ssl"));
        if(this.EnableSsl)
            this.Credentials = new System.Net.NetworkCredential(Settings.Get("gm"), Settings.Get("gmp"));
        this.Message = new MailMessage(from, to, subject, body);
    }

    public void Send()
    {
        try { this.Send(Message); }
        catch (Exception ex) { throw ex; }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,从昨天开始,我收到了这个错误:

错误:服务器不支持安全连接.

当然,我的主人当然认为这不是他们的错,但我没有改变任何事情.此外,它仍然可以在我的本地和测试机器上正常工作.知道可能导致这种情况的原因所以我可以告诉他们解决这个问题吗?

谢谢......这让我疯了!

Esp*_*spo 5

你使用什么SMTP服务器和端口?如果您直接连接到smtp.gmail.com以发送ssl邮件,则需要使用端口465或587.

看起来你正在使用端口25,你确定你的Settings.Get("ssl")返回是假的吗?

请阅读此处了解详情.


小智 5

改变:

 SmtpServer.EnableSsl = true;
Run Code Online (Sandbox Code Playgroud)

到:

SmtpServer.EnableSsl = false;
Run Code Online (Sandbox Code Playgroud)

这将解决问题。