При получении писем с сервера, различных логов и прочей служебной информации, в поле From: указывался адрес:
Charlie Root <[email protected]>
Что бы изменить его — выполним следующие действия.
Операционная система:
# 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 и в него добавляем строку:
[email protected] [email protected]
Где [email protected] — адрес, который должен устанавливаться в поле From:.
Теперь выполняем:
# postmap /usr/local/etc/postfix/generic
И даём команду серверу Postfix перечитать конфигурационный файл:
# service postfix reload
Теперь, в письмах с сервера в поле From: будет указываться:
Feb 10 11:38:49 akira postfix/qmgr[82576]: B041D50F61: from=<[email protected]>, size=388, nrcpt=1 (queue active)
И напоследок — пример простого скрипта для отправки почты с сервера, из-за которого и возникла необходимость изменить поле From:, т.к. мобильный оператор не принимал письма с обратным адресом типа [email protected]:
#!/usr/local/bin/bash
# Script to send a email
# Тема письма
SUBJECT=»Subject here«
# Адрес получателя
EMAIL=»[email protected]«
#Файл, который будет содержать текст,
#который позже будет вставлен в тело письма
EMAILMESSAGE=»/tmp/message.txt»
#Текст, который должен быть добавлен в письмо.
#Первая строка добавляется с помощью >
#Последующие — с помощью >>
echo «Message text here» > $EMAILMESSAGE
#Отправка письма с помощью /bin/mail
mail -s «$SUBJECT» «$EMAIL» < $EMAILMESSAGE