Postfix

service postfix status
systemctl status postfix

Установка

sudo apt-get install postfix
sudo cp main.cf.proto main.cf
КомандаОписание
postfix checkcheck postfix's configuration
postconflist all configuration
postconf -nDisplay only parameters different from default
postconf -dlist default configuraiton

Postmap

postmap файл newaliases для файлов с алиасами, postmap не подходит

КомандаОписание
mailqПосмотреть сообщения в очереди
$ mailq|grep ^[A-F0-9]|cut -c 42-80|sort |uniq -c|sort -n|tail|Get email accounts with high Postfix queues
postfix flushОтправить сообщения из очереди заново
КомандаОписание
postsuper -d mail_queue_idУдалить сообщение с message-id
postsuper -d ALLУдалить все сообщения из очереди
postsuper -d ALL deferredУдалить все deffered сообщения в очереди
postsuper -h mail_queue_idПоставить сообщения в очереди на hold
postsuper -H mail_queue_idСнять сообщения с hold
postsuper -r mail_queue_idПоставить определённые сообщения в очередь
postsuper -r ALLПовторная отправка всех сообщений в очереди
postsuper -pУдалить старые временные файлы
КомандаОписание
postqueue -fОчистка очередей
postqueue -pПоказать очередь сообщений
postqueue -jПоказать очередь в JSON формате
postqueue -p | grep -v "^[^0-9A-Z]\|^$" | wc -lВывод количества сообщений в очереди
postqueue -i ID_сообщенияОтправить сообщение вне очереди по ID сообщению
postqueue -s damain.comОтправить сообщение вне очереди по домену
postqueue -p | grep -v "^[^0-9A-Z]\|^$" | awk '{print $7}' | sort -rn | uniq -c | sort -rnФормирование списка сообщений по количеству писем от отправителя
postqueue -p | grep support@doamin.com | awk '{print $1}' | xargs -n1 postsuper -dУдаление сообщений из очереди от email
КомандаОписание
postcat -q ID_сообщенияПросмотр сообщения в очереди

Логи

ccz cc

alias plog='su tail -f /var/log/mail.log | ccze'

Статистика пишется каждые 600 секунд, 10 минут. Время можно увеличить в master.cf, параметром -o max_idle

anvil     unix  -       -       n       -       1       anvil -o max_idle=3600s

Можно в main.cf выставить параметр smtpd_client_event_limit_exceptions чтобы предотвратить вывод anvil process.

smtpd_client_event_limit_exceptions = static:all

Это сделает все IP адреса, как клиенты, которые исключены в smtpd_client_*_count/rate_limit restrictions. Это подавит вывод, т.к anvil нечего будет выводить в лог.

Настройки безопасности

НастройкаОписание
disable_vrfy_command = yesВыключение проверки получателей командой VRFY
smtpd_banner = $myhostname ESMTP Microsoft Exchange serverМеняем SMTP Banner

smtpd_client_restrictions = = reject_unknown_client_hostname