Требования к SMTP Releay для System.net.mail отличается от System.Web.mail

StackOverflow https://stackoverflow.com/questions/3242005

Вопрос

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

<Сильная> Синтаксисная ошибка в параметрах или аргументах. Ответ сервера был: 5.7.1 Эта система не настроена на релейную почту

Мое веб-приложение Получение этой ошибки MSG использует system.net.mail. Он расположен вместе с более старым веб-приложением, которое предполагается заменить, который использует System.Web.mail. На этой же машине есть один SMTP-сервер, который, кажется, требует некоторой новой конфигурации относительно реле.

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

Так, как и резюме, использует system.net.mail требует что-то другое для ретрансляции электронной почты, чем system.web.mail?

Web.config для более новой версии, которая содержит релейные проблемы:

<system.net><mailSettings><smtp><network host="mail.cbmiweb.com" port="25"/></smtp>
.

Я использовал значения выше для всего моего тестирования (сначала на моем localhost с XP IIS 5.1; затем на постановке IIS 6.0 сервера в нашей локальной сети) и никогда не было никаких «реле» проблем.

web.config для старой версии, используя system.web.mail содержит ничего, связанного с smtp!

Если я вдруг нужен username и пароль добавлен к настройке SMTP выше, как бы я никогда не нуждался в «учетных данных» во время разработки?

Я не знаю много о SMTP и даже не знаю, что задать администратор почтового сервера. Я очень растерялся о том, что делать ... спасибо.

Это было полезно?

Решение

Звучит для меня, как старое приложение отправляет сообщение непосредственно на сервер получателей и полностью обходит ваш локальный почтовый сервер полностью. Это произошло бы, потому что ваше приложение не было бы не было бы настроить почтовый сервер, поэтому он по умолчанию вернутся к попытке отправить саму по почте.

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

Вы должны задать администратор почтового сервера, чтобы правильно настроить свой локальный почтовый сервер, чтобы разрешить реле с вашей машины.

или (и это более безопасный способ)

Вы должны настроить пользователь на вашем локальном почтовом сервере, а ваше приложение использует эти учетные данные входа при попытке отправить электронную почту.

SystemnetMail.com сайт может быть полезен. В частности, страница на Конфигурация SMTP .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top