Postfix: смена адреса From для писем root@hostname

При получении писем с сервера, различных логов и прочей служебной информации, в поле From: указывался адрес:

Charlie Root <root@hostname.domain.org.ua>

Что бы изменить его — выполним следующие действия.

В файл конфигурации сервера Postfix добавляем строку:

sender_canonical_maps = hash:/usr/local/etc/postfix/generic

Теперь создаём файл /usr/local/etc/postfix/generic и в него добавляем строку:

root@hostname.new_mydomain.org.ua mainaddress@mydomain.kiev.ua

Где mainaddress@mydomain.kiev.ua — адрес, который должен устанавливаться в поле From:.

Теперь выполняем:

# postmap /usr/local/etc/postfix/generic

И даём команду серверу Postfix перечитать конфигурационный файл:

# service postfix reload

Теперь, в письмах с сервера в поле From: будет указываться:

Jun 22 11:31:11 mail postfix/qmgr[81428]: 2A78E3010E0E: from=<info@tst-amo.net.ua>, size=1315, nrcpt=1 (queue active)

И напоследок — пример простого скрипта для отправки почты с сервера, из-за которого и возникла необходимость изменить поле From:, т.к. мобильный оператор не принимал письма с обратным адресом типа root@hostname.domain.org.ua:

#!/usr/local/bin/bash
# Script to send a email

# Тема письма
SUBJECT=»Subject here«

# Адрес получателя
EMAIL=»recipient@address.here«

#Файл, который будет содержать текст,
#который позже будет вставлен в тело письма
EMAILMESSAGE=»/tmp/message.txt»

#Текст, который должен быть добавлен в письмо.
#Первая строка добавляется с помощью >
#Последующие — с помощью >>
echo «Message text here» > $EMAILMESSAGE

#Отправка письма с помощью /bin/mail
mail -s «$SUBJECT» «$EMAIL» < $EMAILMESSAGE

Postfix: смена адреса From для писем root@hostname