我已经编写了一个 ASP.NET 来每 12 小时发送一次 SMTP 邮件。它在我的办公室服务器上运行良好,但是当我在我的客户端服务器上运行解决方案时,它向我显示一个错误“根据验证程序,远程证书无效” . 会出现什么问题以及解决方案是什么?
问问题
600 次
1 回答
0
已经有几个问题:
(关于检查什么的大反馈) 远程证书根据验证程序无效
(在非产品上运行以获取过去错误的代码) “根据验证过程,远程证书无效。” 使用 Gmail SMTP 服务器
(附加信息)远程证书根据验证程序无效
如果这些不起作用
尝试在服务器上添加证书
- 将证书保存到您的计算机,您也需要添加证书。
- 开始 -> 运行 -> MMC 这将打开 Microsoft 管理控制台
- 转到文件 -> 添加/删除管理单元... 从可用的管理单元:框中选择证书,然后单击添加 >
- 您将拥有三个选项(用户、服务、计算机),选择计算机帐户并点击 Next >。点击 Finish 关闭对话框,然后 OK 关闭管理单元对话框
- 右键单击受信任的根证书颁发机构 -> 所有任务 -> 导入...
- 点击下一步>,浏览证书,然后点击下一步,直到对话框关闭并且您已成功添加证书。
运行跟踪以查看错误消息
将以下内容添加到您的 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 回答