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

Автор: | 02/10/2013
 

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

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

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

Операционная система:

# uname -v
FreeBSD 9.0-RELEASE-p3 #0: Tue Jun 12 01:47:53 UTC 2012

Почтовый сервер MTA:

# pkg_info | grep postfix
postfix-2.9.4_2,1

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

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

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

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

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

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

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

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

# service postfix reload

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

Feb 10 11:38:49 akira postfix/qmgr[82576]: B041D50F61: from=<1th@setevoy.kiev.ua>, size=388, 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