Консультация Oblako.kz

Инструкция по установке Postfix и Dovecot на Ubuntu

Эта инструкция содержит подробную информацию о том, как правильно инсталлировать агенты работы с электронными почтовыми сервисами Postfix и Dovecot на виртуальные серверы, работающие на ОС Ubuntu 16.04 x64.

Основные понятия

Postfix – это почтовый агент, который передает электронную почту внутри локальной сети и через сеть Интернет. Основной плюс работы с агентом – его простота, сервис обладает интуитивной конфигурацией и легко настраивается, также применяется для пересылки системных сообщений.

Dovecot -  это сервис получения электронной почты с использованием почтовых протоколов IMAP и POP3.

Инсталяция

Первый шаг – это обновление локальной базы пакетов следующей командой:

sudo apt-get update

Далее необходимо установить пакет сервиса из главного хранилища:

sudo apt-get install postfix

Запустите пользовательский интерфейс, в списке видов конфигурации сервера выберите строку «Internet Site». Это действие осуществляет автоматическое создание конфигурационного файла main.cf.

Postfix Configuration-Internet Site

В строку "System mail name" введите данные доменного или локального имени вашего сервера.

Postfix Configuration-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/ с помощью следующей команды:

sudo postmap /etc/postfix/virtual sudo postmap /etc/postfix/private/*

Чтобы сохранить изменения, перезагрузите сервер.

sudo /etc/init.d/postfix restart

Корректность работы агента

Чтобы облегчить работу, установите программу 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. Обратите внимание, что письмо нужно отправить только реальному пользователю с использованием доменного имени.

Последнее обновление: 07.10.2022