SecurityException:请求类型&System; System.Net.Mail.SmtpPermission,Culture = neutral,PublicKeyToken = b77a5c561934e089'失败

时间:2017-04-15 08:24:58

标签: c# asp.net web-services asp.net-web-api

System.Security.SecurityException:请求类型为&System; Net.Net.Mail.SmtpPermission,System,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'失败。

当我在视觉工作室的本地服务器上工作时,他们没有问题 当我部署此代码并运行在线时,则面临此问题

部署后服务器上的

错误但在本地服务器上没有问题:

error on the server after deploying but on a local server there is no problem



$password = $_REQUEST['pass_text_name'];




3 个答案:

答案 0 :(得分:0)

有两种解决方案。

1)低安全级别不允许您指定smtp端口。默认值为端口25.虽然我的ISP指定端口587,但使用端口25。

2)在Web.config中添加代码。

<configuration>
  <system.web>
    .....
    <trust level="Full" originUrl=""/>
  </system.web>
</configuration>

希望它的工作!!

快乐编码!!

答案 1 :(得分:0)

尝试将SMTP端口更改为端口25.我认为它应该可以正常工作。

答案 2 :(得分:-1)

错误是由服务器的信任配置引起的。通常,信任级别足以使此库工作,但可能是因为服务器上的特殊信任配置,或者您正在Linux服务器上部署。

好的,没关系,但是你可以通过在Web.config文件中添加这个节点来手动授予对该库的信任来解决它:

<system.web>
    <securityPolicy>
        <fullTrustAssemblies>
            <add assemblyName="System.Net.Mail.SmtpPermission" version="4.0.0.0" publicKey="b77a5c561934e089"/>
        </fullTrustAssemblies>
    </securityPolicy>
</system.web>

请检查我使用的信息和错误数据。如果错误随其他程序集名称更改,也可以添加它们。

有关详细信息,您可以看到以下两种资源:

  1. https://msdn.microsoft.com/en-us/library/wyts434y.aspx

  2. https://msdn.microsoft.com/en-us/library/aa302361.aspx