好吧,我一直在使用下面的脚本进行一年多了,从我的主机发送电子邮件(通过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; }
    }
}

不过,从昨天起,我已经收到此错误:

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

现在当然我的主人认为这不是他们的错,但我并没有改变任何东西。此外,它仍然工作在我的本地和测试机器的罚款。任何想法可能是造成这个,所以我可以告诉他们要修复它?

感谢您......这是推动我疯了!

有帮助吗?

解决方案

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

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

阅读这里的信息。

其他提示

检查事件日志,也许握手beetwen在您的PC和服务器不working.or证书不被下载或者它可能包含错误至极可能是从Gmail奇怪的事情正在添加

指定使用587端口也解决了这个问题对我来说 -

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

在我工作的公司创建了一个Windows服务,做一些事情,然后从Gmail中发送电子邮件。在开始的时候发送的电子邮件只是,没有任何问题的罚款。 Vista的计算机上安装该服务后,我们注意到它不会发送电子邮件。然后同样的事情,一旦我们安装了Windows 2008的服务器上。我们甚至已经开始注意到它少数XP的机器。一旦我们改变了口587就又开始正常工作和发送电子邮件。

下面是对我们努力(XP,Vista中,服务器2008)。所有的机器工作的一些示例代码

        Dim client As New Net.Mail.SmtpClient("smtp.gmail.com")
        client.Port = 587
        client.EnableSsl = True
        client.UseDefaultCredentials = False
        client.Credentials = loginInfo
        client.Send(mm)
SmtpServer.Port = 587;
SmtpServer.UseDefaultCredentials = false;
SmtpServer.Credentials = new System.Net.NetworkCredential("xx@xx.com", "password");
SmtpServer.EnableSsl = true;

变化:

 SmtpServer.EnableSsl = true;

要:

SmtpServer.EnableSsl = false;

这将排序的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top