Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Как доставляется почта?

Вообще, Вы создаете почту, используя интерфейс, подобный mail или mailx, или более сложный, например, mutt, tkrat или pine. Эти программы называются пользовательскими средствами почты (mail user agents, MUA). Если Вы посылаете сообщение почты, программа интерфейса будет в большинстве случаев вручать его другой программе, которая называется средством транспорта почты (mail transport agent, MTA). На некоторых системах имеются различные средства транспорта почты для локальной и удаленной почты, на других имеется только одно. Обычно это команда /usr/sbin/sendmail, а на не-FSSTND системах /usr/lib/sendmail. В UUCP-системах команда для удаленной почты обычно rmail, для локальной lmail (если она существует).

Локальное получение почты, конечно, больше чем присоединение входящего сообщения к mailbox получателя. Обычно локальный MTA поймет совмещение имен (установка локальных адресов получателя, указывающих на другие адреса), и пересылку (переназначение почты пользователя другому адресату). Также сообщения, которые не могут быть переданы, должны обычно быть bounced, то есть возвращены отправителю с сообщением об ошибке.

Для удаленного получения используемое программное обеспечение зависит от характера связи. Если почта должна быть передана по сети, используя TCP/IP, обычно используется SMTP. SMTP (Simple Mail Transfer Protocol) определен в RFC 821. SMTP обычно соединяется с машиной получателя непосредственно.

В UUCP-сетях почта обычно не будет передана непосредственно, а будет послана на машину адресата рядом промежуточных систем. Чтобы послать сообщение по UUCP, MTA будет обычно выполнять rmail на системе пересылки, используя uux с подачей письма на стандартный ввод программы.

Так как команда uux выполняется для каждого сообщения отдельно, этот подход может вызвать значительную загрузку главного узлового хаба почты, также как сотни малых файлов, занимающих непропорциональное количество дискового пространства. Некоторые MTA позволяют Вам собирать отдельные сообщения для удаленной системы в одном файле. Командный файл содержит команды SMTP, которые локальная машина выдала бы, если бы использовалось прямое SMTP-соединение. Это называется BSMTP или пакетирование (batched) SMTP. Пакет передается программе rsmtp или bsmtp на удаленной системе, которая будет работать, как будто бы произошло нормальное SMTP-соединение.