Можно ли переопределить уровень доверия в web.config - PullRequest
0 голосов
/ 26 апреля 2019

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

  1. Если у нас есть "trust level="Full" originUrl=""" в web.config, веб-сайт не будет отображать никаких страниц.Ниже приведено сообщение об ошибке:

Сообщение об ошибке синтаксического анализатора: этот раздел конфигурации нельзя использовать по этому пути.Это происходит, когда администратор сайта заблокировал доступ к этому разделу с помощью унаследованного файла конфигурации.

Если я удаляю "trust level="Full" originUrl=""" из web.config, веб-сайт отображает страницы.Однако страница для отправки электронной почты не будет работать.Сообщение об ошибке:
(Using port 25) Failure sending mail. Unable to connect to the remote server.

(Using port 587) Request for the permission of type 'System.Net.Mail.SmtpPermission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.   

Ниже приведен код для отправки электронных писем:

MailMessage o = new MailMessage("from email", "to email", "subject", "body");
            o.IsBodyHtml = true;

            SmtpClient smtpobj = new SmtpClient("host", 587);
            smtpobj.EnableSsl = false;
            smtpobj.UseDefaultCredentials = true;
            smtpobj.Credentials = new NetworkCredential("from email", pass);
            smtpobj.Send(o);

Интересно: 1. Можно ли переопределить уровень доверия из моегоweb.config?2. Можно ли изменить код так, чтобы отправка писем работала без полного доверия?

Большое спасибо!

...