postfix. автоответчик.

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