Отправить электронную почту на SMTP SMTP под средним доверием

Мне нужно отправить электронное письмо из моего приложения, которое будет работать под средним доверием. Мой текущий код отправки электронной почты, который отлично работает под полным доверием, выдает 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 и allied, я обнаружил, что мой 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. Какие-нибудь обходные пути? предложения?

Ответ 1

Gmail также принимает порт 25; вы просто отдаете порт 25; его Работа для меня.,

Ответ 2

Вы пробовали порт 465.

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

Вы также можете создать веб-службу и отправить электронное письмо из своего приложения в веб-службу. Затем запустите веб-службу с полным доверием.

Ответ 3

В medium trust, да, вы "застряли" с портом 25. Если вы можете/иметь доступ к (со ссылкой на ваш веб-хост) для создания настраиваемых файлов конфигурации:

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

Ссылки:

Ответ 4

Часто веб-хост хочет, чтобы вы использовали свой SMTP-сервер для исходящих писем. Я не знаю, может ли это возникнуть проблема с вашим конкретным сценарием, но если нет, вы, вероятно, должны связаться с хостом и спросить их, что такое их SMTP-сервер, вместо того, чтобы пытаться использовать внешний.