Ответ 1
Gmail также принимает порт 25; вы просто отдаете порт 25; его Работа для меня.,
Мне нужно отправить электронное письмо из моего приложения, которое будет работать под средним доверием. Мой текущий код отправки электронной почты, который отлично работает под полным доверием, выдает 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. Какие-нибудь обходные пути? предложения?
Gmail также принимает порт 25; вы просто отдаете порт 25; его Работа для меня.,
Вы пробовали порт 465.
http://support.google.com/mail/bin/answer.py?hl=en&answer=13287
Вы также можете создать веб-службу и отправить электронное письмо из своего приложения в веб-службу. Затем запустите веб-службу с полным доверием.
В medium trust
, да, вы "застряли" с портом 25. Если вы можете/иметь доступ к (со ссылкой на ваш веб-хост) для создания настраиваемых файлов конфигурации:
<IPermission class="SmtpPermission" version="1" Unrestricted="true" />
Ссылки:
MSDN (Alvar Garcia) - Проблемы с SMTP, когда ASP.NET не работает в режиме полного доверия
Rick Strahl - SmtpClient в средстве доверия
Часто веб-хост хочет, чтобы вы использовали свой SMTP-сервер для исходящих писем. Я не знаю, может ли это возникнуть проблема с вашим конкретным сценарием, но если нет, вы, вероятно, должны связаться с хостом и спросить их, что такое их SMTP-сервер, вместо того, чтобы пытаться использовать внешний.