Asp.net 发送电子邮件时出错

Asp.net 发送电子邮件时出错,asp.net,error-handling,smtp,email-validation,Asp.net,Error Handling,Smtp,Email Validation,我已经编写了一个ASP.NET,每12小时发送一次SMTP邮件。它在我的office server中工作正常,但当我在客户端服务器上运行解决方案时,它会显示一个错误“根据验证过程,远程证书无效”。问题将是什么?解决方法是什么?已经有一些问题了: (关于检查内容的良好反馈) (在非prod上运行以克服错误的代码) (其他信息) 如果这些不起作用 尝试在服务器上添加证书 将证书保存到您需要添加证书的计算机 还有证书 开始->运行->MMC这将打开Microsoft 管理控制台 转到文件->添加/

我已经编写了一个ASP.NET,每12小时发送一次SMTP邮件。它在我的office server中工作正常,但当我在客户端服务器上运行解决方案时,它会显示一个错误“根据验证过程,远程证书无效”。问题将是什么?解决方法是什么?

已经有一些问题了

(关于检查内容的良好反馈)

(在非prod上运行以克服错误的代码)

(其他信息)

如果这些不起作用

尝试在服务器上添加证书

  • 将证书保存到您需要添加证书的计算机 还有证书
  • 开始->运行->MMC这将打开Microsoft 管理控制台
  • 转到文件->添加/删除管理单元。。。挑选 来自可用管理单元的证书:框,然后单击添加>
  • 您将有三个选项(用户、服务、计算机),选择计算机 account并点击Next>。点击Finish关闭对话框,点击OK关闭对话框 关闭“管理单元”对话框
  • 右键单击受信任的根证书 权限->所有任务->导入
  • 点击Next>,浏览证书,然后点击Next,直到对话框关闭并且 已成功添加证书
  • 运行跟踪以查看错误消息

    将以下内容添加到web.config。(摘自)

    
    

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

    它不会“向您显示错误”,它会引发异常。请发布完整的异常。客户端是否为其邮件服务器使用自签名证书?其中最有可能的问题是:
    <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>