Настройка MTA Postfix в связке с Dovecot

В предыдущей статье посвященной сборке и настройке почтового сервера из Opensource-компонентов, я в качестве MTA использовал EXIM и как мне сказали я это сделал зря, так как наиболее распространенным почтовым сервером на данный момент является Postfix и он применяется на 90% почтовых серверов. Пожалуй прислушаюсь к советам читателей и расскажу в дополнение к предыдущей статье как настроить Postfix для той же связки.

 
 
Логотип GITA-DEV

Автор: Черноусов Антон aka Gita-Dev
Опубликовано: 01 Авг 2018 (последние правки 1 месяц)

aptitude dev git install live mta pgsql postfix postgres smtp

Настройка Dovecot

Для работы такого рода связки потребуется установить lmtp-модуль для Dovecot:

# aptitude install dovecot-lmtpd

И внести некоторые изменения в рассмотренную ранее конфигурацию Dovecot.

В файле 10-director.conf требуется добавить postmaster_address и mail_plugins:

protocol lmtp { 
 postmaster_address = reports@gita-dev.ru  # required 
 mail_plugins = quota sieve 
}

В файле 10-master.conf:

 service lmtp { 
  unix_listener /var/spool/postfix/private/dovecot-lmtp { 
   mode = 0666 
   group = postfix 
   user = postfix 
}

Настройка Postfix

Устанавливаем версию Postfix которая может работать в связке с базой данных Postgresql:

# aptitude install postfix-pgsql postfix

Конфигурация postfic main.cf получилась следующая:

relay_domains = 
virtual_alias_maps = proxy:pgsql:/etc/postfix/virtual_alias_maps.cf 
virtual_mailbox_domains = proxy:pgsql:/etc/postfix/virtual_mailbox_domains.cf 
virtual_mailbox_maps = proxy:pgsql:/etc/postfix/virtual_mailbox_maps.cf 
virtual_transport = lmtp:unix:private/dovecot-lmtp 
virtual_mailbox_limit = 512000000 
virtual_minimum_uid = 114 
virtual_uid_maps = static:114 
virtual_gid_maps = static:119 
local_transport = virtual 
local_recipient_maps = $virtual_mailbox_maps 
transport_maps = hash:/etc/postfix/transport 
smtpd_sasl_auth_enable = yes 
smtpd_sasl_type = dovecot 
smtpd_sasl_path = private/auth 
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination 
smtpd_sasl_security_options = noanonymous 
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options 
smtpd_tls_auth_only = yes 
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.gita-dev.ru/fullchain.pem 
smtpd_tls_key_file = /etc/letsencrypt/live/mail.gita-dev.ru/privkey.pem 
smtpd_sasl_local_domain = $mydomain 
broken_sasl_auth_clients = yes 
smtpd_tls_loglevel = 1 
html_directory = /usr/share/doc/postfix/html 
queue_directory = /var/spool/postfix 
mydestination = localhost

И соответственно запросы виртуальных алиасов.

Файл /etc/postfix/virtual_alias_maps.cf:

user = web_portal 
password = password
hosts = localhost 
dbname = web_portal_db 
query = SELECT login || '@' ||domain AS goto FROM core_mailaccount INNER JOIN core_maildomains ON (core_mailaccount.domain_id = core_maildomains.id) WHERE login || '@' || domain='%s';

Файл /etc/postfix/virtual_mailbox_domains.cf:

user = web_portal 
password = password
hosts = localhost 
dbname = web_portal_db 
query = SELECT domain FROM public.core_maildomains WHERE domain='%s'

Файл /etc/postfix/virtual_mailbox_maps.cf:

user = web_portal 
password = password 
hosts = localhost 
dbname = web_portal_db 
query = SELECT login || '@' ||domain AS maildir FROM core_mailaccount INNER JOIN core_maildomains ON (core_mailaccount.domain_id = core_maildomains.id) WHERE login || '@' || domain='%s';

Как вы видите ничего сложного нет.

Похожие статьи

Установка и обновление сертификата Let's encrypt для почтового сервера Zimbra

Установка и обновление сертификата Let's encrypt для почтового сервера Zimbra

Эта заметка не претендует на истину в первой инстанции и даже обязательно должна быть дополнена некоторыми механизмами авто-продления сертификатов раз в месяц, но так как последнее время на поддержке у меня не осталось Zimbra-серверов я дополню ее по по возможности. Представленный механизм полностью рабочий и многократно апробировался в реальной боевой среде.


Установка и настройка почтового сервера Zimbra (часть первая - основы установки и настройки)

Установка и настройка почтового сервера Zimbra (часть первая - основы установки и настройки)

Сразу предупреждаю, если вам нужен простой почтовый сервер для приема и отправки почты, то лучше собрать его из OpenSource компонентов и он будет отлично работать, но если вам нужна мощная система коллективной работы с поддержкой LDAP-авторизации, календарей, общих почтовых папок и прочих колабрэйшн плюшек которые имеются в проприетарном почтовом сервере MS Exchange, то вам прямая дорога к внедрению Zimbra


Создание почтового домена в Zimbra и подключение почтового клиента

Создание почтового домена в Zimbra и подключение почтового клиента

Как я уже говорил ранее, у меня опять подвернулся проект связанный с Zimbra Collabration Suite и я решил задокументировать типовые операции по управлению почтовым сервером и некоторые подводные камни и грабли с которыми я сталкиваюсь практически на каждом внедрении этого почтового сервера.


Легковесный почтовый сервер с хранением учетных данных в базе Postgresql

Легковесный почтовый сервер с хранением учетных данных в базе Postgresql

До этого я рассказывал исключительно о монстроидальном комплексе совместной работы под названием Zimbra и вы наверное поняли, что запустить его на небольшом VPS у вас не получится, так как он потребляет просто огромное количество системных ресурсов. Но, что же делать, если требуется собственный почтовый сервер и вы сильно ограничены в системных ресурсах? Правильный ответ, это собрать его самому из Opensource-компонентов и полученный результат удивит вас своей легковесностью.


Настройка DKIM, SPF, DMARK. Повышаем уровень доверия к почтовому серверу.

Настройка DKIM, SPF, DMARK. Повышаем уровень доверия к почтовому серверу.

Задачи по настройке DKIM/SPF/DMARK и т.п. довольно распространены на фриланс-сайтах, но в большинстве случаев там все в итоге сводится к настройте мне почтовый сервер для спам рассылок чтобы мои уникальные предложения не попадали в спам. Такие товарищи мне не товарищи и сразу идут лесом, да и кстати сказать, из за них теперь для настройки банального почтового сервера требуется совершать столько приседаний. Чтобы не забыть последовательность действий по настройке почтового сервера письма от которого не будут сразу уходить в спам, я решил написать эту небольшую инструкцию.


Простой SMTP-сервер (с авторизацией) для почтовой рассылки в дополнение к Yandex почта для домена

Простой SMTP-сервер (с авторизацией) для почтовой рассылки в дополнение к Yandex почта для домена

Яндекс почта для домена, это неплохое решение для небольшой компании у которой нет технического специалиста для поддержки собственного почтового сервера. Вам не придется заботиться о мониторинге того, что ваш сервер может попасть в черный список и еще ряда факторов, но в этой бочке меда есть одна большая ложка дегтя которая перевешивает все положительные факторы.


Отзывы и комментарии