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)
但是,从昨天开始,我收到了这个错误:
错误:服务器不支持安全连接.
当然,我的主人当然认为这不是他们的错,但我没有改变任何事情.此外,它仍然可以在我的本地和测试机器上正常工作.知道可能导致这种情况的原因所以我可以告诉他们解决这个问题吗?
谢谢......这让我疯了!
你使用什么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)
这将解决问题。
归档时间: |
|
查看次数: |
32487 次 |
最近记录: |