У меня есть сервер Exchange 2010 под управлением Windows 2008 R2, у меня также есть удаленный веб-сервер под управлением Windows 2003 с несколькими сайтами (все сайты asp.net mvc 2). Я устанавливаю транспорт в обмен, и все веб-сайты на моем удаленном веб-сервере могут без проблем отправлять электронную почту кому-либо на сервере обмена и в любой внешний домен.
Теперь о моей проблеме. У меня возникли проблемы с этим веб-сервером, поэтому я переместил один из веб-сайтов для работы на моем сервере обмена, он работает хорошо (веб-сайт с низкой посещаемостью), за исключением того, что электронная почта с этого сайта не работает. Я попытался изменить транспорт в обмен на добавление IP-адреса локального компьютера и адресов 127.0.0.1, но он по-прежнему не отправляет электронную почту.
Есть идеи, как заставить это работать?
Удаленные веб-сайты по-прежнему могут отправлять электронную почту без проблем, версия сайта, которую мне пришлось перенести на удаленный сервер, все еще может отправлять электронную почту, но на сервере обмена для этого веб-сайта электронная почта не отправляется.
Я предполагаю, что это проблема с транспортом, поскольку он работает на том же сервере, брандмауэр не должен быть проблемой.
Я изменил параметр smtp в web.config на localhost, и теперь я получаю электронную почту на свою учетную запись на сервере обмена, но не получаю никаких писем на внешние адреса.
Чтобы добавить больше описания, это специально разработанный веб-сайт asp.net mvc 2. И ни в том, ни в другом случае при отправке электронного письма в коде не возникало ошибок.
Я бы начал с проверки журналов приемных соединителей в Exchange. Обычно в чем-то вроде C:\Program Files\Exchange Server\V14\TransportRoles\Logs\ProtocolLog\SmtpReceive
Убедитесь, что подробное ведение журнала включено для всех принимающих соединителей.
Вам необходимо предоставить более подробную информацию о своем приложении. Вы пытаетесь отправить электронное письмо с аутентификацией или анонимное письмо? Являются все ваши веб-сайты, работавшие под управлением Windows 2003, больше не работают с почтовым сервером Exchange или это только один конкретный сайт?
Вы можете захотеть проверить http://www.systemwebmail.com/default.aspx поскольку они могут предложить вам программируемое решение. Я не рекомендую запускать какой-либо веб-сайт на сервере обмена независимо от того, насколько интенсивным или легким может быть его использование.
Некоторые простые вещи, которые нужно проверить: порты брандмауэра, любые обновления / исправления, примененные к серверу обмена и / или веб-серверу, которые могут повлиять на порты, проверка журналов на веб-сервере / сервере обмена и т. Д. И т. Д. через ваше веб-приложение в Visual Studio, используя точки останова, чтобы узнать, что именно происходит в приложении, но я бы сначала попытался диагностировать, является ли это проблемой приложения или проблемой, не связанной с приложением.
Это пользовательское приложение ASP.NET или решение поставщика? Думаю, вам нужно прочитать эту страницу (http://www.systemwebmail.com/faq/4.1.aspx#4.1) и попытайтесь определить некоторые факторы, способствующие возникновению этой проблемы.
У вас включен IPv6 на сервере Exchange? Когда ваш веб-сайт пытается разрешить имя почтового сервера, он может пытаться использовать адрес IPv6, который не был упомянут в приведенном выше описании соединителя получения.