Сначала капельку терминологии:
MTA - mail transfer agent. Это сервис, который передает почту между серверами, используя протокол SMTP. (эту задачу будет выполнять Exim4).
MSA - mail submission agent. Этот сервис используется для отправки почты пользователем с сервера наружу. Именно он получает запрос на обработку исходящего письма от нашего пользователя по протоколу SMTP на портах 25 или 587 и передает ее MTA для дальнейшей транспортировки. То есть это сервис для исходящей почты. (эту задачу будет выполнять Exim4).
MDA - mail delivery agent. Это сервис, который раскладывает почту по папкам, после того как MTA принял какую-то почту извне сервера для нашего пользователя. То есть это сервис для входящей почты. (эту задачу будет выполнять Exim4).
MRA - mail retrieval agent. Это сервис, который достает почту из папок для клиента, пришедшего по протоколам POP/IMAP. (эту задачу будет выполнять Dovecot).
MUA - mail user agent. Это программа, предоставляющая человеческий интерфейс для обращения к MRA по протоколу POP/IMAP. Она может быть исполнена как вэб-приложение на том же сервере (RoundCube, Squirrel, Horde, etc.) так и быть десктопным приложением (Outlook, Thunderbird, The Bat). В любом случае это приложение подключается к MRA на порт 110/143 и работает по протоколу POP/IMAP. (эту задачу будет выполнять десктопный клиент на стороне пользователя).
Цепочка отправки письма выглядит так:
MUA(Outlook, отсылка, ivanov@abc.com)-->MSA-->MTA(abc.com)-->
>-----интернет----->
-->MTA(xyz.com)-->MDA-->MRA-->MUA(Outlook, прием, petrov@xyz.com)
Любой из вышеперечисленных сервисов может работать не только по обычным протоколам, но и по шифрованным. Такие протоколы обозначаются буквами S в конце. Например IMAPS. Номера портов соответственно тоже меняются.
Итак приступим...