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