2017-08-15 97 views
0

发送电子邮件时,我们已经运行在一个MVC的网站,并在其他连续webjob 2个Azure的应用程序“的远程证书根据验证程序是无效的”。昨天中午突然发生了使用smtpclient发送电子邮件时出现下面的错误。从蔚蓝的应用

的远程证书根据验证程序

没有变化的代码或邮件服务器取得是无效的。我们有这个问题,在二月2017无解则(https://social.msdn.microsoft.com/Forums/en-US/f2f35ab9-3d0a-490f-b639-8ea5abda92d5/intermittent-the-remote-certificate-is-invalid-according-to-the-validation-procedure?forum=windowsazurewebsitespreview),并再次同样的问题在九月2016年

相同的代码发送本地电子邮件罚款,这也从我们的虚拟机的一个作品。

using (var smtp = new SmtpClient("mail.server.com", 25)) 
{ 
    smtp.EnableSsl = true; 
    smtp.Credentials = new NetworkCredential(username, password); 
    smtp.Send(message); 
} 

试过https://twitter.com/AzureSupport但他们没有回答。我们没有Azure支持计划,但为什么我们不得不支付我们没有中断的事情,或者为发送电子邮件等任何业务的关键部分等待8小时甚至1小时?

我们已经开始生产我们大部分的网络应用程序Azure的,但我们一直在移动它们回服务器,因为它接二连三的一个问题...这两个Azure的应用程序是最后的人,现在只有一个左,只是因为它使用webjobs而代码依赖于webjob。

UPDATE: 在Azure的应用程序和邮件服务器匹配这两个证书指纹。

回答

0

该错误消息表示该应用程序已经确定所述远程证书无效。这可能是由于机器没有必要的认证链接。您可能已经意识到这种例外的原因。

我们已经看到,在一些所谓的,锁定的环境中发生此错误。即应用了一些组策略或域设置,其将移除所有证书并有选择地添加必要的“公司批准的”证书。在此过程中,认证相关的呼叫可能会失败。

一个“变通”,就是要有自己的证书回调处理程序,并忽略认证错误。从安全的角度来看,这是非常坏!但是,通常用于摆脱证书错误!

一种方法是有一个全球性的认证回调是使用: Server​Certificate​Validation​Callback

There is an SO Post for any query

+0

感谢这个@Subbu,确实忽略了认证是坏,我不打算这样做。这是在Azure应用程序服务上,因此组策略或服务器设置的更改是不可能的。与该证书相关的任何事情都是从Azure门户进行管理的,并且对其他功能工作正常......仅发送我们获得此信息的电子邮件。 –