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

Подменить адрес e-mail FROM POSTFIX

Доброго дня!
Имеется установленный почтовый сервер, где в качестве МТА работает postfix. Подключен внешний фильтр содержимого — amavisd-new:
content_filter = smtp-amavis:[127.0.0.1]:10024
Далее я реализовал следующее, как описано здесь
То есть происходит ротация Ай-Пи адресов при отправке
master.cf

ну а сам файл
/etc/postfix/random.pl
нет смысла приводить, там описана функция ротации
На сервере установлена php-программа для рассылки e-mail. Основной поток исходящих сообщений идет от этой программы через /usr/sbin/sendmail
Причем, эта программа использует в качестве e-mail адреса FROM: (от кого) — адрес Return-Path: и в рамках одной сессии этот адрес один и тот же для всех писем. В нашем случае он @oni4you.ru
Теперь перехожу к своему вопросу.
Мне необходимо в процессе ротации подменять в заголовках писем адрес Return-Path: на тот адрес, с которого в данный момент идет отправка. Например, если в данный момент идет отправка через rotate2, то необходимо подменить адрес @oni4you.ru на @mail2.oni4you.ru, а если отправка идет через rotate1, то адрес @oni4you.ru надо подменить на @mail1.oni4you.ru
Смысл данной операции — правильное формирование DKIM подписания в заголовках входящих писем у почтовых провайдеров. Вот здесь я более подробно объясняю причину того, для чего надо подменять адреса.
Я для этого прописал дополнительно sender_canonical_maps:

Создал два файла canonical_maps1.cf и canonical_maps2.cf
canonical_maps1.cf

Источник

Подмена отправителя в Postfix

Очень срочно, как обычно вчера, встала задача. В общем необходимо для определенного списка пользователей, домен у них не обязательно одинаковый, при отправки им писем, подменять отправителя.

Прошу помощи в реализации этого! Наверняка у кого-нибудь был подобный опыт!?

при отправки им писем, подменять отправителя

Т.е. пользователю пишут с lusha-klush@gmail.com, а ему приходит письмо с at@fsb.gov.ru?
Или всё-таки наоборот: пользователь пишет письмо с адреса vasya@htaxxx.com а получателю приходит с адреса v.v.p@corporate.example.com?

smtp_generic_maps не подойдёт?

Т.е. у меня есть некий сервис, который производит по определенному правилу рассылку. Рассылку производит с адреса no-reply@mydomain.ru. Есть группа пользователей, например user1@organization1.ru, user2@organisation2.ru, user3@organisation3.ru и т.д. Вот как раз при отправке пользователям из этой группы нужно подменять отправителя с no-reply@mydomain.ru на service@mydomain.ru.

Мне кажется это не то.

Посмотрел в сторону header_checks, но вот никак не могу придумать как в нем делать проверку по группе адресатов и заменять на нужный адрес.

Читайте также:  боксберри в пензе адреса

Источник

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

Хочу поделиться парочкой полезных советов по настройке почтового сервера. Я расскажу, как автоматически изменять тему всех отправляемых сообщений через postfix, а так же подменять адрес отправителя. На днях в комментариях к одной статье про отправку почты, читатель показал простое и интересное решение, которое я решил проверить, дополнить и оформить в виде отдельной статьи.

Цели статьи

Введение

В комментариях читатель захотел использовать один и тот же почтовый ящик для отправки оповещений с нескольких серверов. Для удобной сортировки в ящике получателя нужно было как-то разделить письма по серверам. Когда отправитель один, других надежных признаков для сортировки не найти.

Я сходу предложил решение по автоматическому изменению темы сообщения через postfix, так как предполагал, что он это умеет и не ошибся. Читатель вернулся и подсказал, как это легко и быстро настроить. Я проверил решение, оно реально рабочее, поэтому решил оформить в виде отдельной статьи. Думаю, это будет полезно остальным.

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

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

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

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

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

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

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

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

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

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

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

Проверяем ящик и видим там письмо.

Теперь вы можете настраивать отправку системных писем с разных серверов, используя один и тот же ящик, просто автоматически меняя тему всех почтовых сообщений сервера.

Читайте также:  поле мое поле текст

Заключение

Я рекомендую собирать системные сообщения с разных серверов тем или иным способом. Там часто бывает критически важная информация, которая не будет лишней, даже если у вас хорошо настроена система мониторинга, например zabbix.

Если вас интересует настройка полноценного почтового сервера postfix, то у меня есть очень подробная статья на эту тему.

Буду рад полезным замечаниям и дополнениям. Ваши комментарии иногда делают меня умнее 🙂

Источник

Перезапись адресов отправителей и получателей при помощи Postfix

Сегодня хочу показать, как можно довольно быстро и легко поднять почтовый релей, который будет подменять адреса и домены отправителей и получателей.

В качестве примеров использования, можно придумать сотни вариантов, но сходу в голову пришли такие сценарии:

Если вы хотите отправлять письма от имени партнера, либо если было какое-нибудь объединение компаний и нужно, чтобы старый домен компании отправителя менялся на новый.

Например, у вас есть группа поддержки, и вы не хотите, чтобы определенные получатели видели индивидуальные ящики пользователей, а к примеру, чтобы получатель видел, что письма приходят с адреса [email protected] – можно подменить в каждом письме ящик участника, и всегда адреса пользователей будут меняться на support.

Устанавливаем postfix и postfix-pcre. Последний нужен для того, чтобы была возможность править заголовки:

Идём в папку /etc/postfix и создаём там файл конфигурации – main.cf:

Следующего содержимого файла должно хватить:

compatibility_level = 2
#queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix/sbin
data_directory = /var/lib/postfix

#Правка заголовков, при помощи этого хозяйства можно скрыть информацию о предыдущих серверах и id писем, где может фигурировать домен, который нужно подменять.
smtp_header_checks = pcre:/etc/postfix/anon-headers.pcre

#разрешаем пересылку для домена externaldomain.com
relay_domains = externaldomain.com

#включаем работу правил транспорта
transport_maps = hash:/etc/postfix/transport

#собственно включаеи rewrite
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
smtp_generic_maps = hash:/etc/postfix/generic

local_recipient_maps =
unknown_local_recipient_reject_code = 550

Далее нужно создать файл при помощи которого будет осуществляться правка заголовков:

Содержимое примерно такое:

Далее создадим правило транспорта, чтобы почта пришедшая на наши домены пересылалась на нужные почтовые серверы:

externaldomain.com smtp:[192.168.1.200]
yourlocaldomain.loc smtp:[192.168.1.200]

Создаем файл перезаписи адресов:

Пример его содержимого:

Тут видно, что меняются как внешний так и внутренний домен. Это нужно, что бы была возможность менять адреса не только при отправке почты, но и при приёме. Также для примера показана смена конкретного адреса.
Применяем:

Читайте также:  как удалить последний установленный драйвер windows 10

Создаём еще один файл перезаписи адресов:

Также может потребоваться добавить внешний домен в файл hosts:

В конец файла нужно добавить строчку:

Всё, теперь во всех письмах проходящих через ваш релей будет меняться адрес отправителя/получателя в соответсвии с вашими правилами. Остается только направить письма, для которых треубется осуществить замену адреса, через этот релей. Например в Exchange – можно добавить Send Connector, для определенных доменов, и в качестве Smart Host указать адрес только что настроенного сервера.
Следить за тем, что происходит можно в логах mail.log:

Также не лишним будет следить за здоровьем вашего нового релея, поможет в этом утилита pflogsumm:

Соответственно можно сохранить этот скрипт, добавить его в cron и будет приходить письмо о состоянии здоровья сервера.

Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.

Источник

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

Здравствуйте, помогите пожалуйста решить следующую проблему: Есть нормально работающий сервер на postfix, сделана привязка к AD. Необходимо настроить postfix так, чтобы пользователям определенной группы, например office при отправке почты во внешний мир обратный адрес заменялся на office@mydomain.ru. А при получении почты на адрес office@mydomain.ru происходила рассылка всем членам группы office.

Что уже делалось: 1. Создана группа рассылки office в AD, в нее добавлены пользователи. 2. Почта, приходящая на office@mydomain.ru рассылается всем членам группы. 3. При настройке smtp_generic_maps = hash:/etc/postfix/generic со списком замен адреса отправителя, адрес отправителя меняется, но перестает получаться вся почта на адрес office@mydomain.ru.

Помогите пожалуйста разобраться.

smtp_generic_maps подменяет, но он не создает ящик office@mydomain.ru, те скорее всего вам нужно просто сделать office@mydomain.ru алиасом для группы или еще как-то указать постфиксу, то он существует и является рассылочным листом.

те мы оставляем smtp_generic_maps с существующими настройками, но так же создаем ящик/алис office@mydomain.ru

В логах postfix следующее:

А как выглядит лог при без подмены адреса? Логически можно предположить, что отвечающие тупо давят (в почтовом клиенте) на кнопульку =Ответить= и ответ летит на вымышленный алиас. Хотя по логу не скажешь.

Источник

Образовательный портал