Лучшие почтовые серверы Linux
Электронная почта — это не просто веб-сайт, на котором вы можете обмениваться сообщениями, такой как вконтакте или фейсбук. Это более сложный механизм, который работает с помощью собственного протокола. В сети почтовые клиенты отправляют письма на почтовый сервер, затем они уже направляются к адресату. Именно потому мы можем отправлять почту всем адресатам, независимо от их домена, mail, gmail, yandex и т д. На низком уровне эти сервисы работают по одному протоколу.
Чтобы отправить сообщение почтовый сервер использует программу MTA (Mail Transfer Agent).
Что такое MTA?
MTA — это приложение, которое определяет маршруты и передает электронную почту от одного узла в сети к другому. Для этого используется протокол SMTP — Simple Mail Transfer Protocol или простой протокол передачи почты.
Для отправки почты используется почтовый клиент, он может отправлять и получать письма от почтового сервера и тоже использует SMTP, но это необязательно MTA.
MTA работают на сервере, а на компьютерах используются почтовые клиенты, такие как Mozilla Thunderbird, Evolution, Outlook и т д. В этой статье мы рассмотрим лучшие почтовые серверы Linux.
1. Sendmail
Почтовый сервер Sendmail теперь известный как Proofpoint, после того как Proofpoint Inc приобрела Sendmail Inc. На сегодняшний день — это самый популярный и самый старый MTA для операционной системы Linux. Если сравнивать Sendmail и более современные почтовые серверы, то здесь есть много ограничений.
Настройка сервера очень сложная, а система безопасности слабая, поэтому были разработаны альтернативные почтовые серверы. Но все же он достаточно хорошо справляется со своей задачей. Продолжим наш обзор почтовых серверов linux более современными вариантами.
2. Postfix
Postfix — это еще один кроссплатформенный, популярный почтовый сервер, который был разработан Wietse Zweitze Venema для собственного почтового сервера, когда он работал в научно-исследовательском отделе IBM.
Он составляет сильную конкуренцию для очень популярного Sendmail и может работать на Linux, MacOS, Solaris и других Unix подобных системах.
Здесь позаимствовано много свойств Sendmail, но есть и множество отличий и улучшений. Postfix быстрый, безопасный и легкий в настройке. Основные функции:
- Контроль пропускаемой почты;
- Поддержка нескольких протоколов;
- Поддержка баз данных;
- Поддержка почтовых ящиков;
- Поддержка изменений адресов;
3. Exim
Exim — это свободный почтовый сервер для Linux, разработанный также для Mac OS, Solaris и других Unix подобных систем. Здесь есть огромные возможности по маршрутизации почты, а также механизмы слежения за входящим потоком.
- Нет поддержки протоколов POP3 и IMAP;
- Поддерживает протоколы RFC 2821 SMTP и RFC 2033 LMTP для передачи сообщений электронной почты;
- Настройка списков доступа, сканирования содержимого, шифрования, контроля маршрутизации и многое другое;
- Отличная документация;
- Поддерживаются плагины, например Lemonade, который добавляет поддержку протоколов POP3 и IMAP.
4. Qmail
Qmail — еще один свободный и современный сервер отправки электронной почты с открытым исходным кодом. Он простой, надежный и эффективный, предлагает широкие возможности безопасности.
Можно сказать, что это небольшой, но функциональный MTA. Вот его основные функции:
- Работает не только на linux, но и на нескольких Unix подобных операционных системах, например: FreeBSD, Solaris, Mac OSX;
- Простая и быстрая установка;
- Автоматическая настройка хоста;
- Четкое разделение между адресами, файлами и программами;
- Полная поддержка адресных групп;
- Позволяет каждому пользователю управлять своими рассылками;
- Поддерживает VERP;
- Поддерживает автоматическое предотвращение зацикливание рассылки;
- Поддерживает менеджер списков рассылки ezmlm.
5. Mutt
Mutt — это небольшой, но мощный консольный клиент для Unix подобных систем. У него есть несколько интересных функций, несмотря на то что это всего лишь терминальный клиент:
- Разделение сообщения на потоки;
- поддержка IMAP и POP3;
- Поддержка нескольких форматов почтовых ящиков: MBox, MH, Maildir, MMDF;
- Поддержка статуса доставки;
- Поддержка PGP / MIME (RFC2015);
- Поддержка рассылок с помощью списков;
- Полный контроль над заголовком сообщения;
- Прост в установке и настройке;
- Активное сообщество разработчиков и пользователей;
6. Alpine
Alpine — представляет из себя простой в использовании и быстрый клиент электронной почты. Он основан на системе обмена сообщениями Pine и отлично подходит как для опытных, так и для начинающих пользователей. Для получения справки можно воспользоваться встроенным инструментов подсказок.
Выводы
В этой статье мы рассмотрели как передается электронная почта по сети, а также лучшие почтовые серверы Linux (MTA). Еще мы затронули тему консольных почтовых клиентов. Для обработки почты на Losst используется Postfix. А какой почтовый сервер используете вы? Какой считаете лучшим? Почему? Напишите в комментариях!
Настройка Postfix и Dovecot на Ubuntu
Многие пользователи Убунту используют систему не только для домашних нужд. Такой подход вполне оправдан, ведь на Linux-системах гораздо удобнее заниматься программированием, созданием серверов и веб-сайтов. Одно из удобств — создание сервера электронной почты. Для новичков эта задача покажется ужасно трудной, однако если вы разберётесь, как установить и настроить почтовый сервер для Ubuntu, задача уже не покажется вам такой уж тяжёлой.
Как выполняется настройка почтового сервера на базе Ubuntu.
Немного теории
Перед конкретными инструкциями и брожением по коду не обойтись без доли теоретического материала. Важно понимать, что такое сервер электронной почты и как он работает.
Настроенный почтовый сервер, если говорить очень просто — это почтальон, который получает «письмо» от одного почтового клиента и отдаёт другому. В этом, в принципе, вся суть работы этого программного обеспечения. Почтовый сервер нужен не только для передачи электронной почты. На сайтах он отвечает за регистрацию пользователей, передачу заполняемых форм и другие важные действия, без которых сайт стал бы подобием книги, на которую можно только смотреть, перелистывая страницы, а вот что-то сделать трудновато.
Почтовые серверы на Linux существенно отличаются от оных на Windows и других системах. На Винде это уже готовая закрытая программа, которой остаётся только начать пользоваться. Дистрибутивы Линукса же предполагают самостоятельную настройку всех компонентов. Причём сервер будет в итоге состоять не из одной программы, а из нескольких. Мы будем использовать Postfix в сочетании с Dovecot.
Почему Postfix?
На Убунту существует несколько почтовых клиентов, но всё же мы выбрали именно этот. Настройка Posfix на Ubuntu гораздо легче, чем того же SendMail, а это важно для начинающего пользователя. В сочетании с Dovecot Postfix способен выполнять всё то, что обычно требуют от почтовых серверов.
Postfix — это непосредственно сам агент передачи почты. Ему и предстоит сыграть главную роль во всём представлении. Это программа с открытым исходным кодом, которую используют по умолчанию многие серверы и веб-сайты. Dovecot — это агент получения доставки почты.
Установка Postfix
Первым делом нужно воспользоваться командой для обновления локальной базы пакетов:
Сам агент Postfix можно свободно установить из репозитория, и это будет следующий шаг:
Когда запустится интерфейс этого приложения, нужно выбрать пункт «Internet Site», после чего произойдёт создание файла конфигурации с именем main.cf.
Далее в поле «System mail name» впишите локальное имя будущего сервера, например, myserver.org или любое другое по своему желанию. С помощью команды nslookup вы всегда сможете узнать домен сервера в будущем – посмотрите и запишите, это пригодится для настройки.
Настройка Postfix
Теперь нужно произвести настройки почтового агента. Для этого нужно первым делом создать файл с именем virtual в папке /etc/postfix// Для этого можно воспользоваться командой touch:
Теперь нужно создать папку private в директории /etc/postfix/. В ней будут храниться настройки почты:
Далее нужно создать ещё несколько файлов в директории /etc/postfix/private/:
touch canonical sender_relay sasl_passwd
Теперь нужно поменять некоторые настройки в файле конфигурации main.cf. Откройте его в блокноте в привилегированном режиме:
В файле идут значения параметров, и через знак «=» перечисляются его значения. Здесь нужно у параметра myhostname поменять имя локального сервера – на myserver.org, как в нашем примере, или на то, которое вы указали при установке Postfix на предыдущем этапе. Вот так:
Посмотрите использующийся IP-адрес с помощью такой команды:
Этот IP-адрес нужно вписать в параметры mydestination. Параметр alias_maps замените на virtual_alias_maps, тогда письма смогут пересылаться на другие адреса.
Теперь нужно поменять расположение хэша:
Для параметра mynetworks установите такие значения:
Если вы хотите, чтобы сервер мог работать с почтой Яндекса, в конце файла добавьте следующие параметры:
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/private/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_type = cyrus
smtp_sasl_mechanism_filter = login
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/private/sender_relay
sender_canonical_maps = hash:/etc/postfix/private/canonical
В файле /etc/postfix/private/canonical добавьте свою почту Яндекса:
В файл /etc/postfix/private/sender_relay добавьте:
В файл /etc/postfix/private/sasl_passwd добавьте пароль от почтового ящика Яндекса — вместо ***:
Если вы используете Ubuntu Server 16, нужно открыть порты для работы почтовых служб. Для этого используйте команду:
iptables -A INPUT -p tcp —dport 25 -j ACCEPT
Когда вы сделали все изменения в файлах, нужно перезапустить службу, чтобы новые настройки применились.
Проверка работы Postfix
Полезно установить утилиту mutt, чтобы работать с почтой было удобнее. Это можно сделать с помощью команды:
Теперь можно попробовать отправить письмо на какой-нибудь почтовый ящик:
echo «Message» | mutt -s «msg» mail@example.com
Если всё хорошо, то письмо будет получено. Но учтите, что в Google такие письма обычно попадают в спам.
Установка и настройка Dovecot
Сначала нужно установить утилиту:
sudo apt-get install dovecot-imapd dovecot-pop3d
Теперь откройте файл /etc/dovecot/dovecot.conf и добавьте в него перечень протоколов:
protocols = pop3 pop3s imap imaps
Далее откройте файл /etc/dovecot/conf.d/10-mail.conf и посмотрите, есть ли там такая строка:
Если эта строка имеет другое содержимое, нужно его изменить на указанное. Если её нет вовсе, то нужно её добавить.
Перезапустите сервис, чтобы изменения применились:
Откройте файл /etc/hosts и добавьте там свой домен, который указывали в самом начале. В нашем примере это был домен myserver.org. IP-адрес также определяли на этапе настройки Postfix.
Теперь осталось лишь открыть порты, чтобы почтовые службы беспрепятственно могли получать и отправлять письма:
iptables -A INPUT -p tcp —dport 220 -j ACCEPT
iptables -A INPUT -p tcp —dport 993 -j ACCEPT
iptables -A INPUT -p tcp —dport 110 -j ACCEPT
iptables -A INPUT -p tcp —dport 995 -j ACCEPT
Чтобы проверить работоспособность всей этой системы, нужно отправить письмо на указанный в настройках почтовый ящик. При этом в адресе нужно использовать созданный домен, а пользователь должен быть создан заранее, тогда письмо должно быть получено – проверять почту можно с помощью утилиты mutt, которую вы уже установили.