10

我需要从我的应用程序发送一封电子邮件,该应用程序将在中等信任下运行。我当前在完全信任下工作正常的电子邮件发送代码在中等信任下抛出 SecurityException

[SecurityException: Request for the permission of type 'System.Net.Mail.SmtpPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]

检查我的 machine.config 和相关文件显示我的 SMTP 访问权限仅限于 Connect。

<SecurityClass Name="SmtpPermission" Description="System.Net.Mail.SmtpPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

<IPermission class="SmtpPermission" version="1" Access="Connect"/>

根据 MSDN,Connect 仅允许端口 25 上的请求。但是 Gmail 服务器在端口 587 上工作。有什么解决方法吗?建议?

4

4 回答 4

4

Gmail 也接受端口 25 ;你只需给端口 25;它为我工作。

于 2009-07-15T10:12:47.663 回答
1

medium trust,是的,您“卡”在端口 25 上。如果您可以/有权访问(我指的是您的网络主机)来创建自定义配置文件:

<IPermission class="SmtpPermission" version="1" Unrestricted="true" />

参考:

于 2012-05-13T19:51:54.700 回答
1

你试过465端口吗?

http://support.google.com/mail/bin/answer.py?hl=en&answer=13287

您还可以创建 Web 服务,并将电子邮件从您的应用程序发送到 Web 服务。然后以完全信任的方式运行 Web 服务。

于 2012-05-07T19:37:56.783 回答
1

通常,网络主机希望您使用他们自己的 SMTP 服务器来处理您的出站电子邮件。我不知道这是否会给您的特定场景带来问题,但如果不是,您可能应该联系主机并询问他们的 SMTP 服务器是什么,而不是尝试使用外部服务器。

于 2012-05-14T17:48:41.683 回答