Почта недоступна. Ответ сервера: 5.7.1 Не удалось передать ошибку

У меня есть один из моих сайтов на сервере netsol. Оттуда contact.aspx должен отправлять электронную почту с помощью сервера обмена. Когда я пытаюсь отправить электронное письмо:

Ошибка: почтовый ящик недоступен. Ответ сервера: 5.7.1 Не удалось передать

код:

MailMessage message = new MailMessage(@"[email protected]", 
                                      @"[email protected]",
                                       "New Message",
                                       "Exchange");
SmtpClient mail = new SmtpClient("exchange.abc.com", 29);
mail.EnableSsl = true;
mail.Credentials = new NetworkCredential(@"[email protected]", @"password");
mail.UseDefaultCredentials = false;
mail.DeliveryMethod = SmtpDeliveryMethod.Network;
mail.Send(message);

Параметры, которые я пробовал:

  • Протестировано на порту 465 или 587 или 25
  • Изменено SmtpDeliveryMethod.PickupDirectoryFromIis
  • не может настроить IIS (SMTP-сервер), поскольку он размещен на другом сервере

Ответ 1

Конфигурация по умолчанию большинства SMTP-серверов - это не пересылка из ненадежного источника во внешние домены. Например, представьте, что вы связываетесь с SMTP-сервером для foo.com и попросите его отправить сообщение на адрес [email protected] Поскольку SMTP-сервер действительно не знает, кто вы, он откажется передать сообщение. Если сервер сделал это для вас, это будет считаться открытым ретранслятором, а именно, как спамеры часто делают свою работу.

Если вы обратитесь к почтовому серверу foo.com и попросите его отправить почту на адрес [email protected], это может позволить вам это сделать. Это зависит от того, доверяете ли вы тому, кем вы себя называете. Часто сервер пытается выполнить обратный поиск DNS и отказывается отправлять почту, если IP-адрес, который вы отправляете, не соответствует IP-адресу записи MX в DNS. Поэтому, если вы скажете, что вы являетесь почтовым сервером bar.com, но ваш IP-адрес не соответствует записи MX для bar.com, он откажется предоставить сообщение.

Вам нужно поговорить с администратором этого SMTP-сервера, чтобы получить информацию об аутентификации, чтобы она разрешала вам ретрансляцию. Вам нужно будет предоставить эти учетные данные при обращении к SMTP-серверу. Обычно это либо имя пользователя/пароль, либо он может использовать разрешения Windows. Зависит от сервера и того, как он настроен.

См. Невозможно отправить электронную почту во внешний домен с помощью SMTP для примера того, как отправлять учетные данные.

Ответ 2

Я использую Windows Server 2012 для хостинга в течение длительного времени, и он просто перестает работать после более чем лет без каких-либо проблем. Моим решением было добавить публичный IP-адрес сервера в список реле и включить встроенную проверку подлинности Windows.

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

Перейдите в Диспетчер IIS 6

Go to IIS 6 Manager

Выберите свойства SMTP-сервера

Select properties of SMTP server

На вкладке "Доступ" выберите "Реле"

On tab Access, select Relays

Добавьте свой общедоступный IP-адрес

Add your public IP address

Закройте диалоговое окно и на той же вкладке нажмите кнопку "Аутентификация".

Добавить встроенную проверку подлинности Windows

Add Integrated Windows Authentication

Возможно, какой-то шаг не нужен, но он работает.

Ответ 3

У нас была эта проблема. все было настроено с точки зрения разрешений и безопасности.

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

потребовалось 2 дня сумасшедшего тестирования и вытягивания волос, чтобы найти это.

поэтому, если вы все проверили, попробуйте изменить тело письма только на слово "тест". Если после этого ваша электронная почта будет прекрасной, у вас будет какая-то проблема с спамом/эвристическим фильтром, как мы были

Ответ 4

@qub1n верен, у нас был набор разработки VM. Я столкнулся с такой же проблемой. Когда я попросил нашего сетевого администратора устранить неполадки, он не смог его исправить. Используя вышеописанные шаги, я смог быстро настроить собственный SMTP за несколько минут на моей VM и Bang... он начал работать.