0

我已经编写了一个 ASP.NET 来每 12 小时发送一次 SMTP 邮件。它在我的办公室服务器上运行良好,但是当我在我的客户端服务器上运行解决方案时,它向我显示一个错误“根据验证程序,远程证书无效” . 会出现什么问题以及解决方案是什么?

4

1 回答 1

0

已经有几个问题

(关于检查什么的大反馈) 远程证书根据验证程序无效

(在非产品上运行以获取过去错误的代码) “根据验证过程,远程证书无效。” 使用 Gmail SMTP 服务器

(附加信息)远程证书根据验证程序无效

如果这些不起作用

尝试在服务器上添加证书

  1. 将证书保存到您的计算机,您也需要添加证书。
  2. 开始 -> 运行 -> MMC 这将打开 Microsoft 管理控制台
  3. 转到文件 -> 添加/删除管理单元... 从可用的管理单元:框中选择证书,然后单击添加 >
  4. 您将拥有三个选项(用户、服务、计算机),选择计算机帐户并点击 Next >。点击 Finish 关闭对话框,然后 OK 关闭管理单元对话框
  5. 右键单击受信任的根证书颁发机构 -> 所有任务 -> 导入...
  6. 点击下一步>,浏览证书,然后点击下一步,直到对话框关闭并且您已成功添加证书。

运行跟踪以查看错误消息

将以下内容添加到您的 web.config。(取自这里

<system.diagnostics>
    <trace autoflush="true" />
            <sources>
            <source name="System.Net">
                    <listeners>
            <add name="System.Net"/>
                    </listeners>
            </source>
            <source name="System.Net.HttpListener">
                    <listeners>
            <add name="System.Net"/>
                    </listeners>
            </source>
    <source name="System.Net.Sockets">
                    <listeners>
            <add name="System.Net"/>
                    </listeners>
            </source>
    <source name="System.Net.Cache">
                    <listeners>
            <add name="System.Net"/>
                    </listeners>
            </source>
            </sources>
    <sharedListeners>
            <add
             name="System.Net"
             type="System.Diagnostics.TextWriterTraceListener"
              initializeData="System.Net.trace.log"
             traceOutputOptions = "ProcessId, DateTime"
            />
    </sharedListeners>
<switches>
    <add name="System.Net" value="Verbose" />
    <add name="System.Net.Sockets" value="Verbose" />
    <add name="System.Net.Cache" value="Verbose" />
    <add name="System.Net.HttpListener" value="Verbose" />
</switches>
</system.diagnostics>

这将使您更仔细地了解问题所在。IE。名称不匹配等。请务必将initializeData="System.Net.trace.log"更改为您的日志位置,并确保网络服务具有 r/w 访问权限。

于 2013-07-31T20:22:10.520 回答