Традиционно mail
Unix и ее производные (и многие другие инструменты Unix) используют интерфейс /usr/bin/sendmail
, предоставляемый почти всеми агентами пересылки почты (MTA - postfix, exim, courier и, конечно, sendmail).
То есть mail
программа не говорит по сетевому протоколу - она передает сообщение в sendmail
через stdin и позволяет обрабатывать фактическую доставку. (Это восходит к тем дням, когда некоторые письма использовали SMTP, некоторые использовали UUCP, некоторые использовали BITNET ...)
Как только сообщение помещается в очередь через sendmail
, MTA обрабатывает фактическую передачу сообщения, будь то через SMTP или что-то еще. В зависимости от конфигурации он может либо подключаться напрямую к MTA-получателю, либо пересылать почту через другой хост (также называемый smarthost).
Прямое соединение чаще встречается на серверах; ретрансляция через smarthost чаще встречается на персональных компьютерах при домашних подключениях - ретрансляция через учетную запись Gmail или интернет-провайдера / рабочей электронной почты необходима для того, чтобы избежать скрытых анти-спам-фильтров "динамический IP".
(Некоторые MTA, такие как esmtp
или nullmailer
, созданы специально для домашних пользователей и всегда используют relayhost. Они не поддерживают получение почты и намного меньше ресурсов.)
mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → recipient MTA → recipient inbox
mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox
Другие программы, в основном удобные для пользователя графические клиенты, такие как Thunderbird или Outlook, всегда подключаются напрямую к SMTP-серверу relay/smarthost (опять же, обычно это Gmail или ISTP / рабочий SMTP-сервер), который передает сообщение от вашего имени.
Встроенная поддержка SMTP присутствует в heirloom-mailx
, но отсутствует в традиционном bsd-mailx
.
app → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox
Третий метод - подключение напрямую к серверу получателя - почти никогда не используется, и MUA его не поддерживает. На персональных компьютерах его использование может привести к отклонению вашего сообщения (большая часть спама отправляется с IP-адресов зараженного домашнего пользователя).
app → [SMTP] → recipient MTA → caught by the spam filter