Я пытаюсь понять, как работают SMTP-серверы в производственных средах. Мне интересно, как электронная почта может быть отправлена с сервера A на сервер B, если сервер B требует входа в систему.
Реальный пример этого - когда кто-то отправляет почту из Outlook в Gmail. Исходя из моего текущего понимания, Outlook должен будет пройти аутентификацию на серверах Gmail. Есть ли порт или протокол, который позволяет отправлять электронную почту с одного сервера на другой без аутентификации? Мне не удалось найти никаких статей или информации, описывающих это.
Outlook или Gmail предоставляют submission
для своих конечных пользователей через TCP-порт 587. Это требует аутентификации пользователя, но обычно позволяет аутентифицированному пользователю отправлять электронные письма куда угодно.
SMTP
это то, что используется между разными серверами, и он использует TCP-порт 25 и обычно не требует аутентификации. Поскольку это оставляет сервис открытым для злоупотреблений (ищите СПАМ), операторы сервисов используют разные тактики для его предотвращения (например, принимают только электронную почту, которая в конечном итоге будет доставлена их конечным пользователям).
[MX-серверы]
Письма на gmail.com почтовые ящики / адреса не требуют аутентификации
[но может быть отклонено из-за списков RBL или собственной политики Gmail по борьбе со спамом].
MX
DNS-запись gmail.com используется для определения хоста назначения, обслуживающего SMTP-подключения к порту 25 (smtp).
[SMTP-Out-серверы]
Электронная почта через gmail.com для почтовых ящиков / адресов, отличных от gmail.com, требуется аутентификация.
A
или AAAA
запись smtp.gmail.com
используется для определения хоста назначения, но это то, что gmail.com рекомендует использовать своим пользователям. Серверы SMTP-Out должны принимать подключения к порту 587 (мса).
smtp.gmail.com
принимает подключения к портам: 587 (msa), 465 (smtps) и 25 (smtp).
Небольшие сайты используют один сервер как MX-сервер, так и сервер SMTP-Out.
Отправка клиента (ретрансляция с аутентификацией) требует аутентификации (в большинстве случаев).
Отправка с сервера на сервер, где ServerA отправляет электронное письмо на ServerB для домена, для которого ServerB является полномочным, не требует аутентификации. Ретрансляции не происходит. Так работает SMTP. Если бы каждый почтовый сервер должен был аутентифицироваться на каждом другом почтовом сервере, чтобы отправлять электронную почту от одного пользователя другому, электронная почта была бы полностью и полностью непригодной для использования в качестве метода связи.
Я рекомендую вам прочитать RFC, относящиеся к SMTP, чтобы лучше понять, как работает SMTP.