好的,我已经使用以下脚本一年多来从我的主机发送电子邮件(通过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服务器和端口?如果您直接连接到smtp.gmail.com以发送ssl邮件,则需要使用端口465或587.
看起来你正在使用端口25,你确定你的Settings.Get("ssl")
返回是假的吗?
请阅读此处了解详情.