изменить тему письма и адрес отправителя через postfix

Thank you for reading this post, don't forget to subscribe!

зада­ча:

  1. Настро­ить авто­ма­ти­че­ское изме­не­ние темы сооб­ще­ний, отправ­ля­е­мых через postfix. На кон­крет­ном при­ме­ре я пока­жу, как ко всем сооб­ще­ни­ям добав­лять в тему имя сервера.
  2. Настро­ить авто­ма­ти­че­скую заме­ну адре­са отпра­ви­те­ля. В моем при­ме­ре я буду заме­нять локаль­ный адрес отпра­ви­те­ля root на адрес поль­зо­ва­те­ля для отправ­ки почты через внеш­ний сер­вер яндек­са — smtp.yandex.ru.

Заме­на адре­са отпра­ви­те­ля может быть полез­на в раз­ных ситу­а­ци­ях. Я ее буду исполь­зо­вать кон­крет­но для реше­ния про­бле­мы с отправ­кой писем через поч­то­вые сер­ве­ра Яндек­са. Для успеш­ной отправ­ки пись­ма, Яндекс тре­бу­ет, что­бы адрес отпра­ви­те­ля в пись­ме сов­па­дал с адре­сом для авто­ри­за­ции на сер­ве­ре. Если это не будет сде­ла­но, то вы полу­чи­те ошиб­ку во вре­мя отправ­ки — Sender address rejected: not owned by auth user.

Про­ис­хо­дит это пото­му, что отправ­ка систем­ных сооб­ще­ний идет от локаль­но­го поль­зо­ва­те­ля root. Имя отпра­ви­те­ля в пись­ме будет при­мер­но такое — root@prox-centos7.loc. В дан­ном слу­чае prox-centos7.loc это локаль­ное имя сер­ве­ра. Я его заме­ню на учет­ную запись яндекса.

Замена адреса отправителя в postfix

Нач­нем с под­ме­ны отпра­ви­те­ля, что­бы мож­но было сра­зу тести­ро­вать отправ­ку. Для это­го добав­ля­ем в кон­фиг postfix /etc/postfix/main.cf сле­ду­ю­щий параметр.

Там же у меня есть такие параметры:

Файл generic у вас уже дол­жен быть. Если нет, то создай­те его. Далее добав­ля­ем в него одну строку.

root@prox-centos7.loc Локаль­ный поль­зо­ва­тель сервера.
root@sidmid.ru Поль­зо­ва­тель сер­ве­ра yandex. В дан­ном слу­чае домен sidmid.ru при­вя­зан к почте яндекса.

Пере­за­пус­ка­ем postfix и про­ве­ря­ем отправку.

В логе отпра­ви­тель локаль­ный, но тем не менее, яндекс успеш­но отпра­вил пись­мо, ошиб­ки не было.

Автоматическая замена темы писем в postfix

Пере­хо­дим к замене темы пись­ма. Для это­го добав­ля­ем в кон­фиг postfix /etc/postfix/main.cf сле­ду­ю­щий параметр.

Созда­ем файл rewrite_subject сле­ду­ю­ще­го содержания:

Это регу­ляр­ное выра­же­ние, кото­рое меня­ет заго­ло­вок пись­ма, начи­на­ю­щий­ся с Subject. Оно добав­ля­ет в нача­ло темы имя сер­ве­ра в скоб­ках — (prox-centos7). Вы може­те добав­лять что-то свое. Для тех, кто вооб­ще не раз­би­ра­ет­ся в регу­ляр­ках, пояс­ню, что в дан­ном слу­чае $1 это исход­ное содер­жа­ние темы.

Пере­за­пус­ка­ем postfix и про­ве­ря­ем, отпра­вив через кон­соль письмо.

Про­ве­ря­ем ящик и видим там пись­мо с темой prox-centos7