Exim
Расширенное логирование
hostlist auth_relay_hosts = * log_selector = +address_rewrite +all_parents +arguments +connection_reject +delay_delivery +delivery_size +dnslist_defer +incoming_interface +incoming_port +lost_incoming_connection +queue_run +received_sender +received_recipients +retry_defer +sender_on_delivery +size_reject +skip_delivery +smtp_confirmation +smtp_connection +smtp_protocol_error +smtp_syntax_error +subject +tls_cipher +tls_peerdn
Чаще всего достаточно только
log_selector = +arguments +subject
Запуск exim дополнительно на 26 порту
daemon_smtp_ports = 25 : 26
количество сообщений в очереди
exim -bpc
список сообщений
exim -bp
форсированно доставить сообщение
exim -M email-id
запуск очереди форсированно
exim -qff
посмотреть логи сообщения
exim -Mvl messageID
посмотреть сообщение
exim -Mvb messageID
посмотреть заголовки
exim -Mvh messageID
удалить сообщение
exim -Mrm messageID
показать количество frozen сообщений
exim -bpr | grep frozen | wc -l
удалить все frozen сообщения
exim -bpr | grep frozen | awk {'print $3'} | xargs exim -Mrm
показать top 20 адресов назначений
exim -bp | exiqsumm -c | head -n 20
жестко удалить все сообщения из очереди
rm -Rf /var/spool/exim/input
удалить почту по совпадению email с почтовым адресом отправителя
exiqgrep -i -f email | xargs exim -Mrm
удалить почту по совпадению email с почтовым адресом получателя
exiqgrep -i -r email | xargs exim -Mrm
Для того, чтоб настроить отправку почты не с основного IP сервера, прописать
remote_smtp:
driver = smtp
interface = ${if exists {/etc/mailips}{${lookup{$sender_address_domain}lsearch*{/etc/mailips}{$value}{10.1.1.1}}}{}}
вместо 10.1.1. прописать нужный IP
для каждого домена можно указать свой IP с которого будет отправляться почта, для этого заполнить /etc/mailips в виде:
example.com: 10.10.10.10
