Рейтинг:0

Программа .NET, отправляющая электронную почту, не работает только на клиентском сервере

флаг gb

Первоначально я спрашивал об этом в SO, но кажется, что это более подходящее место.

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

По какой-то причине программа не может подключиться к smtp-серверу. Вот точная ошибка:

System.Net.Sockets.SocketException (0x80004005): попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или установленное соединение не удалось, потому что подключенный узел не ответил

Я зарегистрировал SMTP-разговор, когда возникла эта ошибка, и он застрял на «AUTH LOGIN», а затем истекает время ожидания.

23.11.2021 17:00:13 - начать отправлять электронную почту...
23.11.2021 17:01:15 - не удалось отправить электронное письмо со следующей ошибкой:
23.11.2021 17:01:15 - 
================================================== ===========================
#Версия: 7.8.0.1 - 2021-11-23 17:00:13:660
================================================== ===========================
Сервер: smtp.gmail.com
Порт: 587
Тип подключения: ConnectSTARTTLS
Протокол: SMTP
Тип авторизации: Аутауто
Уседефаулткредентиалс: Ложь
Пользователь: <Электронная почта>
Псевдоним: 
Черновики: черновики
Пароль: <Пароль>
ЭХЛО: Ложь
КОНФЕРЕНЦИЯ: Ложь
HeloDomain: <client.domain>
ПочтаОт: 
СоксПроксиСервер: 
Порт сокспрокси: 1080
SocksProxyUser: 
SocksProxyPassword: 
Прокси-протокол: Socks5
================================================== ===========================
[17:00:13:666:Подробно] Подключение smtp.gmail.com 587 ...
[17:00:13:774:Подробно] Подключено
[17:00:14:347:S] 220 smtp.gmail.com ESMTP mu4sm722169pjb.8 - gsmtp
[17:00:14:348:C] EHLO <client.domain>
[17:00:14:566:С]
250-smtp.gmail.com к вашим услугам, [<client.ip>]
250-РАЗМЕР 35882577
250-8БИТИМИМ
250-STARTTLS
250 РАСШИРЕННЫХ КОДОВ СОСТОЯНИЯ
250-ТРУБОПРОВОД
250-РАЗБИВКА
250 СМТПУТФ8
[17:00:14:568:C] СТАРТЛС
[17:00:14:784:S] 220 2.0.0 Готов к запуску TLS
[17:00:14:898:C] EHLO <client.domain>
[17:00:15:114:С]
250-smtp.gmail.com к вашим услугам, [<client.ip>]
250-РАЗМЕР 35882577
250-8БИТИМИМ
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250 РАСШИРЕННЫХ КОДОВ СОСТОЯНИЯ
250-ТРУБОПРОВОД
250-РАЗБИВКА
250 СМТПУТФ8
[17:00:15:118:C] АВТОРИЗАЦИЯ ВХОД

23.11.2021, 17:01:15 — System.Net.Sockets.SocketException (0x80004005): попытка подключения не удалась, поскольку подключенная сторона не ответила должным образом через некоторое время, или установленное соединение не удалось из-за сбоя подключенного хоста. ответить

Я уже пробовал много вещей, и вот, вероятно, некоторые примечательные:

  1. Разрешенный порт 587 в брандмауэре
  2. Отключенный брандмауэр
  3. Отключенный Защитник Windows
  4. Поиграл с разными TLS в Протокол безопасности
  5. Пробовал как в smtp.gmail.com, так и в smtp.office365.com - та же проблема
  6. В другой версии кода, где СерверСертификатеВалидатионКоллбэк был переопределен, чтобы всегда возвращать true. Я действительно обнаружил ошибку события Windows, говорящую Сертификат, полученный с удаленного сервера, был выпущен ненадежным центром сертификации. Из-за этого никакие данные, содержащиеся в сертификате, не могут быть проверены. Не удалось выполнить запрос на подключение TLS. Прикрепленные данные содержат сертификат сервера.

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

флаг cn
Отправной точкой будет захват, чтобы определить, доходит ли ответ до их помещений.
Lawrence avatar
флаг gb
Извините, я не очень хорошо разбираюсь в этом. Когда вы сказали «захват», вы имели в виду журнал сетевой активности, такой как wireshark?
флаг cn
Правильно, Wireshark или Netmon.
Lawrence avatar
флаг gb
Хорошо, спасибо за предложение, я постараюсь изучить его. Я собирался это сделать, но увидел, что их настройка и фактическое обучение использованию инструмента потребует времени. В худшем случае это будет полностью передано инфраструктурной команде поставщика облачных серверов.

Ответить или комментировать

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