【问题标题】:"The remote certificate is invalid according to the validation procedure" when sending emails from a azure app从天蓝色应用程序发送电子邮件时,“根据验证程序,远程证书无效”
【发布时间】:2018-01-23 13:58:20
【问题描述】:

我们有两个 Azure 应用程序,其中一个运行一个 MVC 网站,另一个运行一个连续的 Web 作业。昨天中午左右突然开始使用 smtpclient 发送电子邮件时出现以下错误。

根据验证程序,远程证书无效

代码或邮件服务器未进行任何更改。我们在 2017 年 2 月遇到了这个问题,当时没有解决方案 (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 年 9 月左右又遇到了同样的问题。

相同的代码可以在本地正常发送电子邮件,它也可以在我们的一台虚拟机上运行。

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 小时的东西付费来处理任何业务的关键部分,例如发送电子邮件?

我们已经开始将我们的大部分 Web 应用程序迁移到 Azure,但我们一直将它们移回服务器,因为这是一个接一个的问题......这两个 Azure 应用程序是最后一个,现在只剩下一个了因为它使用 webjobs 并且代码依赖于 webjob。

更新: Azure 应用和邮件服务器中的两个证书指纹匹配。

【问题讨论】:

    标签: c# azure email ssl azure-web-app-service


    【解决方案1】:

    错误消息表示您的应用程序已确定远程证书无效。这可能是因为机器没有必要的认证链接。您可能已经知道此异常的原因。

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

    一种“解决方法”是拥有自己的认证回调处理程序并忽略认证错误。从安全角度来看,这非常糟糕!但是,通常用于解决证书错误!

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

    There is an SO Post for any query

    【讨论】:

    • 感谢@Subbu,确实无视认证是不好的,我不会这样做。这是在 Azure 应用服务上,因此不能更改组策略或服务器设置。与该证书相关的任何内容都从 Azure 门户进行管理,并且适用于其他功能......仅发送我们收到的电子邮件。
    • @DavidAleu 你能解决这个问题吗?我们在 Azure 云服务上遇到了同样的问题,并且间歇性地发生。
    猜你喜欢
    • 2011-04-27
    • 2011-03-28
    • 2016-11-28
    • 2013-08-08
    • 2012-07-20
    • 2015-03-17
    • 2021-05-30
    相关资源
    最近更新 更多