Thank you for reading this post, don't forget to subscribe!
Имеем почтовый релей, который пересылает почту из внешки на внутренние почтовые сервера и обратно. На нём необходимо установить автоответчик который будет отвечать каждый раз как к нему поступит письмо на определённого пользователя, само письмо необходимо доставить пользователю.
Рассмотрим подобную настройку для двух пользователей:
user1@domain.com
user2@domain.com
Добавим в /etc/postfix/master.cf
autoreply unix - n n - - pipe flags=F user=nobody argv=/etc/postfix/avtootvet/script_sender_for_test ${sender} ${recipient}
autoreply2 unix - n n - - pipe flags=F user=nobody argv=/etc/postfix/avtootvet/script_sender_for_test2 ${sender} ${recipient}
autoreply и autoreply2 - это название фильтров которые будут запускать скрипт автоответа указанного в argv
у пользователя nobody должны быть права на выполнение скрипта /etc/postfix/avtootvet/script_sender_for_test
Далее указываем получателей:
cat /etc/postfix/avtootvet/recipient
user1@domain.com FILTER autoreply:
user2@domain.com FILTER autoreply2:
выполняем команду:
postmap /etc/postfix/avtootvet/recipient
В файл:
/etc/postfix/main.cf
добавляем наш файл с получателями, для которых будет настраивается автоответчик
smtpd_recipient_restrictions = hash:/etc/postfix/avtootvet/recipient
Содержимое скриптов:
cat /etc/postfix/avtootvet/script_sender_for_test
#!/bin/bash
/usr/sbin/sendmail -f $1 $2
cat /etc/postfix/avtootvet/autoreply.msg | /usr/sbin/sendmail -f "no-answer@domain.com" $1
cat /etc/postfix/avtootvet/script_sender_for_test2
#!/bin/bash
/usr/sbin/sendmail -f $1 $2
cat /etc/postfix/avtootvet/autoreply.msg2 | /usr/sbin/sendmail -f "no-answer@domain.com" $1
--------------
здесь -f "no-answer@domain.com" задаёт заголовок from
Текст автоответа и тема сообщения задаётся в файле:
cat /etc/postfix/avtootvet/autoreply.msg
Subject: Тема сообщения
Текст сообщения.
после чего не забываем перезапустить или сделать релоад postfix
systemctl reload postfix