MTA (Message Transfer Agent)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 17:40, 7 декабря 2017.
MTA (Message Transfer Agent)
MTA-MDA-MUA relationship.png
Связь MTA c MUA (Mail user agent) и MDA (Mail Delivery Agent)
Тип почтовой агент передачи сообщений
Controller input прием и отправка электронной почты
Related articles RFC 1123, RFC 2821 и RFC 2822


MTA (англ. Mail Transfer Agent) — самостоятельное, минимально достаточное для приема и отправки электронной почты, программное обеспечение. Любой почтовый сервер (MTA) работает одновременно с несколькими протоколами почты: SMTP, POP, IMAP. MTA может самостоятельно обеспечивать работу почтового сервера или входить в состав более сложных комплексов, таких, как Microsoft Exchange Server[1], CommuniGate Pro[2], включающих в себя интерфейсы управления и дополнительные функции[Источник 1]. Важнейшей часть почтового сервера является MTA (Mail Transfer Agent — агент пересылки почты) в задачи которого входит прием и передача почты.

Общее описание

Очень часто (в Linux / UNIX) МТА называют также почтовым сервером. MTA работает по протоколу SMTP (Simple Mail Transfer Protocol), и его одного, в принципе, уже достаточно для создания системы электронной почты. Когда-то давно именно так и было и для доступа к своему почтовому ящику требовалось обладать определенными техническими знаниями.[Источник 2]

Работа MTA совмещает в себе одновременно функции внешней и локальной доставки и получения почты.Почтовый клиент - программа на стороне (компьютере) конечного пользователя почты для создания и редактирования, хранения, отправки и получения писем.Однако прогресс не стоит на месте, MTA, получая письмо, помещает его в почтовый ящик пользователя на сервере, к которому последний должен получить доступ, желательно наиболее простым и понятным способом.
Структура электронной почты в Internet

Вот здесь на сцену выходит MDA (Mail Delivery Agent) — агент доставки почты, его задача по запросу почтового клиента передать ему почту из почтового ящика на сервере. MDA может работать по протоколам POP3 (Post Office Protocol v3) или IMAP (Internet Message Access Protocol), в ряде случаев для "общения" почтового клиента и агента доставки могут применяться собственные протоколы, обладающие расширенной функциональностью, например MAPI (Messaging Application Programming Interface) в Exchange Server[3].

Принцип работы MTA

Принцип взаимодействия структурных элементов MTA
МТА hf,jnf.png

MTA (англ. Mail Transfer Agent — агент пересылки почты) — отвечает за пересылку почты между почтовыми серверами; как правило, первый MTA в цепочке получает сообщение от MUA, последний передаёт сообщение к MDA; возможна реализация с отправкой почты через smart host. MDA (англ. Mail Delivery Agent — агент доставки почты) — отвечает за доставку почты конечному пользователю. MUA (англ. Mail user agent — почтовый агент пользователя; в русской нотации закрепился термин почтовый клиент) — программа, обеспечивающая пользовательский интерфейс, отображающая полученные письма и предоставляющая возможность отвечать, создавать, перенаправлять письма.

MTA представляют собой узлы, через которые передаются электронные сообщения. Письмо, сформированное MUA , достигает хранилище сообщений, содержащее почтовый ящик получателя, проходя через один или несколько MTA , последний из которых передает письмо агенту локальной доставки (LDA). В примере все сетевые узлы, обозначенные квадратами, являются MTA. Как видно из данного примера, функции MTA могут быть очень разнообразны и далеко не сводятся только лишь к передаче сообщения. Как правило, MTA должны быть доступны круглосуточно и постоянно ожидать подключения по протоколу SMTP. Иными словами, каждый MTA в Internet включает в себя сервер SMTP. Обмен данными между MTA происходит по этому протоколу. MTA, отправляющий почту, инициирует соединение и выступает в качестве клиента, MTA, принимающий почту, является сервером. На MTA также возлагается разбор адресов получателей, раскрытие списков рассылки и почтовых псевдонимов и определение маршрута сообщения на основании анализа адресов получателей и записей МХ, получаемых от сервера DNS. MTA должен проверять соответствие действительности идентификационных данных получаемых им от встречного MTA. Следует проверять соответствие доменного имени, которое клиент сообщает в приветствии, его адресу IP. Также нужно удостовериться в существовании почтового домена, указанного в почтовом адресе отправителя. Если в доменной части адреса получателя указан почтовый домен, обслуживаемый данным MTA, то следует проверить, зарегистрирован ли в этом домене указанный адресат. В целях предотвращения анонимных рассылок спама, RFC 2505 рекомендует принимать почту только при выполнении хотя бы одного из следующих условий:

  1. адрес IP клиента входит в список адресов клиентов, обслуживаемых данным MTA;
  2. получатель сообщения зарегистрирован в почтовом домене, обслуживаемом данным MTA;
  3. клиент прошел процедуру аутентификации.

Если не выполнено ни одно из названных условий, MTA должен отказать в приеме почты. MTA, принимающий почту, не отвечающую перечисленным требованиям, может быть внесен в списки серверов, не препятствующих распространению спама. В этом случае многие почтовые системы будут отказываться принимать от него почту. MTA может производить обработку проходящих через него сообщений: проверку на наличие вирусов, фильтрацию спама и пр.Каждый MTA, через который проходит почтовое сообщение, добавляет к его заголовку информацию о том, когда и откуда пришло это сообщение, а также результаты произведенных проверок.В случае невозможности немедленной доставки сообщения, оно помещается в очередь. MTA регулярно предпринимает новые попытки отправить сообщения из очереди. Если это не удается за определенный срок, обычно за четыре часа, то отправителю посылается предупреждение о задержке доставки. Но сообщение остается в очереди, и попытки его отправить продолжаются. Если в течение длительного времени, обычно пяти дней, сообщение так и не удается доставить, оно удаляется из очереди, а отправителю посылается сообщение о невозможности доставки письма.MTA могут также выполнять и другие функции, в зависимости от используемого программного обеспечения.Основные требования к MTA и к MUA описаны в RFC 1123 и уточнены в RFC 2821 и в RFC 2822. Существует множество разнообразных программных реализаций MTA. Старейшей из них и до сих пор одной из наиболее популярных является программа sendmail , разработанная в начале восьмидесятых годов Эриком Оллмэном, тогда еще студентом Калифорнийского университета в Беркли. Эта программа многократно дорабатывалась и стала фактически стандартом для этого типа программного обеспечения. Она продолжает совершенствоваться и по сей день. Доступна как свободно распространяемая версия для операционных систем, совместимых с UNIX , так и коммерческая версия.Позже появились и другие программные продукты, реализующие функции MTA для различных операционных систем: Postfix, smail, qmail, exim, ZMailer и многие другие.[Источник 3]

Список программного обеспечения MTA для подобных Unix и Windows операционных систем

Для общего назначения

Системы обмена сообщениями

Специально для массовой рассылки электронной почты

Варианты SMTP-серверов (MTA), которые могут быть установлены в операционных системах Windows

  • Microsoft Exchange Server;
  • Sun Java System Messaging Server
  • Sendmail[13]
  • CommuniGate Pro
  • MDaemon Server
  • Kerio Mail Server
  • Courier Mail Server
  • hMailServer
  • SPECTral Personal SMTP Server.

Установка и настройка MTA-агентов для UNIX- и Windows-систем

Установка Установка PowerMta 4.5

Установка и настройка POSTFIX

Установка и настройка Outlook Express для Windows

Примечания

  1. Программный продукт Microsoft Exchange Server https://ru.wikipedia.org/wiki/Microsoft_Exchange_Server
  2. Серверная платформа CommuniGate Pro https://ru.wikipedia.org/wiki/CommuniGate_Pro
  3. Протокол взаимодействия клиентов с Exchange Server MAPI (Messaging Application Programming Interface) https://ru.wikipedia.org/wiki/MAPI
  4. почтовый сервер AtMail Open https://sourceforge.net/projects/atmailopen/
  5. Почтовый сервер Courier Mail Server на основе открытых протоколов https://ru.wikipedia.org/wiki/Courier_Mail_Server
  6. OpenSMTPD как альтернатива почтового сервиса https://habrahabr.ru/post/252567/
  7. MTA для UNIX-систем https://ru.wikipedia.org/wiki/Qmail
  8. Почтовый сервер Zmailer для Linux и BSD https://ru.wikipedia.org/wiki/Zmailer
  9. Почтовый сервер SMTP HARAKA https://haraka.github.io/about.html
  10. Транспортный агент MTA MeTA1 https://en.wikipedia.org/wiki/MeTA1
  11. PowerMTA https://www.port25.com/powermta/
  12. http://docs.drh.net/greenarrow-engine/
  13. Старейший агент AMT Sendmail https://ru.wikipedia.org/wiki/Sendmail

Источники

  1. Что такое SMTP, SMTP сервер и MTA // Mailout. [2008-2017]. Дата обновления: 03.04.2017. URL: http://www.mailout.ru/chto-takoe-smtp-smtp-server-i-mta/ (дата обращения:06.12.2017)
  2. Почтовый сервер для начинающих. Структура и принцип работы // "Интерфейс" [2009-2017]. Дата обновления: 26.09.2010. URL: https://interface31.ru/tech_it/2010/09/pochtovyj-server-struktura-i-princip-raboty.html (дата обращения:17.11.2017)
  3. Структура электронной почты в Internet // Opds. [2009-2017]. Дата обновления: 26.09.2010. URL: http://opds.sut.ru/old/electronic_manuals/mail/2_Struct_email.htm#2_2 (дата обращения:06.12.2017)
  4. MTA // Emailwiki. [2007-2017]. Дата обновления: 20.05.2015. URL: http://emailwiki.ru/wiki/MTA (дата обращения:06.12.2017)