Инструкция по установке Postfix и Dovecot на Ubuntu / Oblako.kzЭта инструкция содержит подробную информацию о том, как правильно инсталлировать агенты работы с электронными почтовыми сервисами Postfix и Dovecot
Инструкция по установке Postfix и Dovecot на Ubuntu
Эта инструкция содержит подробную информацию о том, как правильно инсталлировать агенты работы с электронными почтовыми сервисами Postfix и Dovecot на виртуальные серверы, работающие на ОС Ubuntu 16.04 x64.
Основные понятия
Postfix – это почтовый агент, который передает электронную почту внутри локальной сети и через сеть Интернет. Основной плюс работы с агентом – его простота, сервис обладает интуитивной конфигурацией и легко настраивается, также применяется для пересылки системных сообщений.
Dovecot - это сервис получения электронной почты с использованием почтовых протоколов IMAP и POP3.
Далее необходимо установить пакет сервиса из главного хранилища:
sudo apt-get install postfix
Запустите пользовательский интерфейс, в списке видов конфигурации сервера выберите строку «Internet Site». Это действие осуществляет автоматическое создание конфигурационного файла main.cf.
В строку "System mail name" введите данные доменного или локального имени вашего сервера.
Если вы не знаете полное имя, можно ознакомиться с данными с помощью специальной вспомогательной программы:
nslookup
Настраиваем сервис Postfix
Войдите в директорию /etc/postfix/ , где с помощью ввода команды touch необходимо создать новый документ с названием virtual . Этот файл будет служить хранилищем имен и адресов тех пользователей, которым будут доставляться электронные письма
touch virtual
Создайте новую папку в той же директории с именем private (воспользуйтесь командой mkdir). Эта папка будет играть роль хранилища настроек yandex smtp:
sudo mkdir private
Перейдите в созданную папку и создайте следующие документы с помощью ввода команды touch:
touch canonical sender_relay sasl_passwd
Где приведенные понятия означают:
canonical – создание правил подмены адресов пользователей;
sender_relay – команда создает связи между доменами и отправителями к внешним службам;
sasl_passwd – документ, который будет содержать внешние данные провайдера электронной почты.
Следующий шаг – внесение корректировок в конфигурационный файл. Необходимо войти в main.cf. через привилегированный режим, открыть документ нужно в текстовом редакторе:
sudo nano /etc/postfix/main.cf
Приведенные данные имеют следующий вид: параметр равен значение1, значение2, значение3.
Важно! Начинать комментарии нужно с ввода знака #.
Выберите строку myhostname и смените введенные данные на имя вашего домена (если его нет, то не меняйте строку):
myhostname = example.org
В строку mydestination введите данные ip-адреса через запятую. Чтобы узнать адрес, воспользуйтесь нижеприведенной командой:
ifconfig | grep "inet addr" -m 1
Для того чтобы обеспечить возможность пересылки писем на другие почтовые адреса и домены, необходимо добавить virtual_ перед параметром alias_maps.
Далее измените индентификатор таким образом, как показано ниже:
Измените расположение хэша на /etc/postfix/virtual:
virtual_alias_maps = hash:/etc/postfix/virtual
Данные 127.0.0.0/8 для параметра mynetworks – это безопасная авторизация локальной машины. Для использования Yandex SMTP при отправке писем, в конце документа введите такие данные: 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
В приведенном выше перечне по порядку параметры означают:
запускает работу поддержки фреймворка sasl;
здесь необходимо прописать путь к файлу с внешними учетными данными;
параметр безопасности с определенными значениями:
noanonymous – запрет на анонимную проверку подлинности ;
noplaintext – запрет на передачу незашифрованного пароля и имени пользователя;
nodictionary – запрет уязвимых для атак по словарю механизмов;
mutual_auth – применение только таких механизмов, которые прошли проверку на подлинность по отношению клиента к серверу и наоборот.
данные типа плагина для проверки подлинности;
поддерживаемые способы проверки подлинности;
аутентификация осуществляется доменом отправителя;
путь к документу sender_relay;
путь к файлу canonical.
В файл canonical, лежащий в директории /etc/postfix/private/ внесите данные:
@yandex.ru user_name@yandex.ru
В файл sender_relay введите:
@yandex.ru smtp.yandex.ru
В файл sasl_passwd внесите данные своего пароля (вместо ***):
[smtp.yandex.ru] user@yandex.ru:***
Чтобы обеспечить работу переадресации, нужно создание псевдонимов. Для этого войдите в документ virtual в привилегированном режиме, откройте файл в текстовом редакторе:
sudo nano /etc/postfix/virtual
Здесь необходимо ввести адреса электронной почты пользователей, которым будут приходить письма, а также ввести придуманные адреса, которые нужно будет создать. Чтобы увидеть всех пользователей сервиса, введите:
cut -d: -f1 /etc/passwd
Конвертируйте файл virtual в документы etc/postfix/private/ с помощью следующей команды:
Чтобы облегчить работу, установите программу mutt:
sudo apt-get install mutt
Для проверки корректности работы сервиса отправьте электронное письмо на любой почтовый ящик:
Для того, чтобы проверить правильность работы агента, необходимо отправить письмо на любой адрес (при этом помните, что письма, отправленные на адреса 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 удостоверьтесь, что данные выглядят так:
mail_location = mbox:~/mail:INBOX=/var/mail/%u
Перезапустите сервер.
sudo /etc/init.d/dovecot restart
Войдите в документ /etc/hosts и внесите данные доменного имени:
ip-address example.com
Откройте порты для почтовых клиентов:
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
Чтобы удостовериться, что все работает правильно, воспользуйтесь той же процедурой, что и для агента Postfix. Обратите внимание, что письмо нужно отправить только реальному пользователю с использованием доменного имени.