Postfix
Postfix хороший выбор для настройки своего почтового сервера. Postfix - это агент передачи сообщений (MTA) электронной почты при помощи протокола SMTP — простой протокол передачи почты. В примерах используются домены example.com и example.net, которые согласно RFC 2606 зарезервированы для написания документации и примеров.
- RFC2060 - Internet Message Access Protocol
- RFC2505 - Anti-Spam Recommendations for SMTP MTAs
- RFC2821 - Simple Mail Transfer Protocol
- RFC2476 - Message Submission
- RFC2554 - SMTP Service Extension for Authentication
- RFC4422 - Simple Authentication and Security Layer (SASL)
- Настройка DKIM: Защита вашей электронной почты настроить в Postfix
Варианты конфигурации Postfix
- Postfix в роли cистема-спутник - пересылка системных сообщений на smart-host (релей для исходящей почты).
- Postfix backup MX - настройка резервного почтового сервера.
Errors
Утилиты Postfix. Администрирование.
- Параметры конфигурации в ОС или на сайте Postfix Configuration Parameters
man 5 postconf
- postfix check - postfix проверяет свои конфигурационные файлы, если все в порядке - сообщений не будет.
- mailq - получение идентификаторов (ID) писем в почтовой очереди. Посмотреть сколько и какие письма в очереди.
- qshape Print Postfix queue domain and age distribution
# qshape deferred T 5 10 20 40 80 160 320 640 1280 1280+ TOTAL 3 1 0 0 0 0 1 0 1 0 0 tdm.mz 1 1 0 0 0 0 0 0 0 0 0 scarlet.an 1 0 0 0 0 0 1 0 0 0 0 omantel.com 1 0 0 0 0 0 0 0 1 0 0
- postcat -q - прочитать письмо в почтовой очереди (задав его идентификатор, полученный из mailq)
- postconf myhostname - проверить значение параметра myhostname. С ключом e можно редактировать main.cf, например
# sudo postconf -e myhostname=mail.example.com
- Поиск ошибок в log с помощью регулярного выражения:
egrep '(reject|error|warning|fatal|panic):' /var/log/mail.log
- Посмотреть активные настройки Postfix:
postconf -d
- Команда на немедленную доставку писем:
postsuper -r ALL; postfix flush
- Команда на немедленную доставку конкретного письма по ID. ID получаем командой mailq:
postsuper -r ID
- Полная очистка очереди исходящих писем
postsuper -d ALL
- Удаление группы писем от определенного FROM (на примере MAILER-DAEMON):
FreeBSD: mailq | grep 'MAILER-DAEMON' | awk '{print $1}' | xargs -I{} -n1 postsuper -d {} Linux: mailq | grep 'MAILER-DAEMON' | awk '{print $1}' | xargs -I{} -n1 /usr/sbin/postsuper -d {}
- Удаление группы писем от определенного FROM в статусе REQUIRE:
mailq | grep 'MAILER-DAEMON' | awk '{print $1}' | tr -d '*' | xargs -I{} -n1 postsuper -d {}
- Для серверов с несколькими IP. Иногда бывает нужно, чтобы Postfix отправлят почту от конкретного IP. Редактируем
/etc/postfix/master.cf: smtp unix - - n - - smtp -o smtp_bind_address=11.22.33.44
main.cf
Директивы файла main.cf:
- inet_interfaces. Postfix IP address bind configuration:
# postconf -n inet_interfaces inet_interfaces = all
inet_interfaces = all or inet_interfaces = loopback-only or inet_interfaces = 192.5.17.12,127.0.0.1
- myhostname указывает полное доменное имя машины (fully-qualified domain name - FQDN), на которой функционирует Postfix. Используется в приветствие HELO, когда Postfix передает сообщения другим серверам (т.е. выступает в роли почтового клиента). По умолчанию, myhostname устанавливается в имя локальной машины.
- mydestination. Сервер Postfix идентифицирует себя как место конечного назначения только для доменов, имена которых определены в параметре mydestination. Postfix также идентифицирует себя как место конечного назначения для адресов в форме user@[IP адрес], где указан один из IP адресов Postfix. В самом простом случае там должны быть указаны все возможные имена вашего сервера, чтобы локальная почта от ваших системных демонов приходила к вам, а не отбрасывалась
mydestination = localhost.example.com, localhost, mail.example.com
- myorigin - добавляется к адресу отправителя или получателя, если он указан не полностью, например root. Если значение myorigin не задано, то по умолчанию будет подставляться значение myhostname, например короткий адрес root превратиться в root@mail.example.com.
- alias_maps = hash:/etc/aliases - перенаправление сообщений для root в другой почтовый ящик. Использование newaliases.
- relay_domains указывает Postfix на необходимость приема почты для этих доменов несмотря на то, что данный сервер не является местом их конечного назначения.
- virtual_mailbox_domains указывает Postfix, что он является местом конечного назначения для одного или нескольких доменов виртуальных почтовых ящиков.
- virtual_mailbox_maps список почтовых ящиков. По умолчанию почтовые ящики имеют формат mbox, чтобы задать формат Maildir нужно добавить черту "/" в конец имени почтового ящика.
- virtual_alias_maps служит для переадресации сообщений для обязательных пользователей.
- smtpd_discard_ehlo_keywords: Postfix DSN DSN - Delivery Status Notifications, которая предоставляет отправителю почты уведомления о статусе его писем. Статусы могут быть - success, failure, delay, none.
- sender_canonical_maps Изменение Return-Path (адрес отправителя). В main.cf добавляем строку sender_canonical_maps = hash:/etc/postfix/sender_canonical
# nano /etc/postfix/sender_canonical apache@cz.host-telecom.com billing@example.com # postmap /etc/postfix/sender_canonical
Restrictions Postfix
- smtpd_relay_restrictions - это ограничение появилось в Postfix 2.10 По умолчанию имеет значение
# postconf smtpd_relay_restrictions smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
- disable_vrfy_command = yes - установленная в yes запрещает SMTP- команду VRFY, позволяет клиентам проверять существование получателя.
Postfix контроль содержимого письма
- Пример настройки mime_header_checks Postfix - проверка MIME заголовков для вложенных в email файлов.
- Postfix: Примеры фильтра header_checks - проверки применяются к заголовку сообщения
Возможности Postfix
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах