Появилась необходимость настроить отправку почты с одного почтового сервера postfix через другой. Причем на сервере было несколько доменов, для каждого нужен был свой внешний почтовый сервер для пересылки почты.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
В общем случае проблема пересылки почты решается очень просто. Если вы хотите, чтобы отправка всей почты шла через другой smtp сервер, достаточно указать адрес этого сервера в параметре postfix.
relayhost = mailsrv.mymail.ru:25
После этого вся исходящая почта будет отправляться на сервер mailsrv.mymail.ru. Мне такой вариант не подходил. Я хотел потестировать proxmox mail gateway на рабочем сервере, но только на одном домене. Для этого мне надо было почту одного конкретного домена направить на отправку через новый почтовый шлюз.
Почему-то в интернете нашел много советов настроить пересылку почты через transport_maps. Я потестировал этот параметр, но он не для моего случая. С помощью transport_maps вы можете пересылать всю входящую почту на какой-то другой сервер. Мне же нужно было не пересылать входящую, а настроить именно отправку сообщений, то есть исходящую почту.
Чтобы сделать то, что мне надо, необходим параметр - sender_dependent_relayhost_maps. Добавляем его в конфиг в таком виде:
sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost_map
Содержимое файла relayhost_map.
@prox.mymail.ru 10.1.3.15:26
Создаем индексированную базу из этого файла:
# postmap hash:/etc/postfix/relayhost_map
После этого можно перезапускать postfix и проверять. В данном случае я отправил всю почту с домена prox.mymail.ru через внешний smtp сервер 10.1.3.15 на 26-й порт. Его использует proxmox mail gateway для пересылки почты. Все остальные домены как отправляли почту сами локально, так и будут отправлять.
В целом, мне понравился proxmox mail gateway, думаю, буду его использовать. Немного усложняется структура почтового сервера, так как надо разделять smtp службы и imap по разным серверам, но в целом там все очень удобно собрано в одном месте с хорошей панелью управления. Возможно, напишу статью. Его можно использовать совместно с классическим почтовым сервером на postfix.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Доброго времени суток. Может кто, что сможет подсказать. Есть майлер на FreeBSD который через которого отправляется почта с Exchange. Теперь подняли Postfix+Dovecot+OpenLDAP+RoundCube (Авторизация через LDAP). Собственно как сделать что бы с Postfixа исходящая почта шла наружу через майлер на FreeBSD?
Настройка relayhost за это отвечает. Статья же как раз об этом.
Все сделали, но к сожалению почта во вне не уходит
Jun 6 04:17:00 mailos postfix/amavis/smtp[95058]: 4QZsyN1D52zBhrc: to=, relay=127.0.0.1[127.0.0.1]:10026, delay=0.25, delays=0.07/0.04/0/0.13, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 4QZsyN2jKdz9cWD)
Jun 6 04:17:00 mailos postfix/qmgr[94932]: 4QZsyN1D52zBhrc: removed
Ну и письмо остается висеть в очереди
[root@mailos postfix]# mailq
----Queue ID----- --Size-- ---Arrival Time---- --Sender/Recipient------
4QZsyN2jKdz9cWD 1736 Tue Jun 6 04:17:00 plamen@dom.cif.ru
(connect to mx.yandex.ru[77.88.21.249]:25: Connection timed out)
pav@oooatm.ru
В логи еще попало такое сообщение, не заметил сразу. Майлер и postfix находятся в одной подсети.
Jun 6 04:43:48 mailos postfix/smtp[98284]: warning: relayhost configuration problem
Jun 6 04:43:48 mailos postfix/smtp[98284]: 4QZtYH6z66zFZD2: to=, relay=none, delay=0.04, delays=0/0.04/0/0, dsn=4.3.5, status=deferred (Host or domain name not found. Name service error for name=mailer.dom.cif.ru type=A: Host not found)
Спасибо, разобрался. Ваши статьи очень полезные. Огромное спасибо
Добрый день!
Имеется схема: локальный постфикс -> локальный haproxy -> пачка relay с белыми адресами
Задача: разделить 2 принципиально разных потока писем (системные: коды входа, сброс пароля; коммерция: рассылки, акции).
Проблема: коммерческие письма в больших объемах забивают очередь и системные письма приходят не быстро или же вообще из-за коммерческих писем ip адреса relay попадают в бан и встает вообще все.
На локальном постфиксе прописан relayhost на локальный haproxy в первый пул который ответчает за отправку системных сообщений и балансится через сам haproxy на условно небольшой пул relay.
Так же на локальном постфиксе в master.cf прописан еще один smptd на порту 2555 где через -o передан другой relayhost который завернут в другой пул haproxy и балансится на большой список relay для рассылки коммерции.
Проблема: в логах вижу, что не важно отправляю ли я письмо на 25 порт или 2555, всегда идет relayhost туда где указано в main.cf. Т.е. фактического разделения нет вообще. Как будто бы master.cf -o relayhost директива игнорируется.
Пробовал убирать relayhost из main.cf и прописывать две директивы -o relayhost для процессов smtpd (дефолтный) и 0.0.0.0:2555 smtpd (второй кастомный).
В этом случае вообще идет прямая отправка мимо рилеев как будто бы они вообще не указаны.
Что можно сделать?
Я не решал такие задачи, поэтому не подскажу. Описанная в заметке схема - рабочая, проверял лично. Так что распределить потоки отправки по разным relayhost реально. Надо тестировать.
Добрый день, подскажите как настроить PMG что бы пересылал сразу на 2 почтовых сервера, в дефолтном релее можно указать только 1 сервер. а у меня 2 почтовых сервера в режиме DAG. Спасибо.
Добрый день!
Не подскажите, можно ли так подружить Exchnge c Proxmox Gateway?
Задача отправлять с конкретного домена через шлюз PMG.
Proxmox Gateway это в первую очередь про получение и фильтрацию, а не отправку. Не помню даже, умеет ли он отправлять почту. Если умеет, то никаких проблем не вижу сделать отправку через него.
Спасибо за ответ!
Проблема в том что есть два домена на одном сервере Exchange, и два релея на PMG, смысл отправлять каждый домен через свой PMG релей, у меня затык как это реализовать, есть два коннектора отправки, получается можно отправлять через релей только с одного домена(смарт хост на разыне реле настроены на обоих коннекторах), но по приоритету отрабатывает только один коннектор.
Добрый день! Подскажите, пожалуйста, при создании пользователя в postfixadmin делаю следующее: ввожу setup пароль, email пользователя любой, и два раза пароль для него и жму кнопку "Добавить администратора".
Получаю ошибку: Everything seems fine... attempting to create/update database structure
Database is up to date: 1841/0
DEBUG INFORMATION:
Invalid query: ERROR: invalid input syntax for integer: "t" LINE 1: ..._domain_count,0) as domain_count,CASE active WHEN 't' THEN '... ^
Check your error_log for the failed query.
В логах вижу:
PHP message caused by query SELECT username,password,password as password2,CASE superadmin WHEN 't' THEN '1' WHEN 'f' THEN '0' END as superadmin,CASE superadmin WHEN 't' THEN 'ДА' WH$ WHERE 1=1 AND ( username='postmaster@мойдомен' ) ORDER BY username" while reading response header from upstream, client: ххх.ххх.ххх.ххх (ip адрес), server: _, request: "POST /padmin/publi$ 2021/12/16 12:32:51 [error] 1143#0: *294 FastCGI sent in stderr: "PHP message: Invalid query: ERROR: invalid input syntax for integer: "t"
Подскажите, как можно исправить ?
Ошибся темой. Продублирую в нужную.
Добрый день! Подскажите как сделать так чтоб Postfix отправлял исходящие письма с машины находящейся в VPN , можно ли это реализовать без доп smtp сервера?
Тут 2 варианта:
1. Вы делаете машину с vpn шлюзом для почтового сервера с postfix. Тогда он всю почту отправляет через него, как и прочий сетевой трафик.
2. Вы на vpn сервере настраиваете smtp сервер и на postfix указываете его в качестве relayhost.
Выбирать вам, как лучше сделать, в зависимости от ваших условий.
Здравствуйте! Посоветуйте, как выйти из ситуации, и вообще реально ли это. В организации настроен старый postfix, и люди баловались алиасами. Теперь в /etc/aliases нахожу записи вида user1: user1, user2, user3... и user2: user2, user1, user3 ... И в логах жалуется на петлю, при этом сами пользователи хотят получать письма друг друга "как они всегда делали!" Я так понимаю через алиасы эту проблему не решить, существуют ли какой-то другой метод, который решит мою проблему?
Так петлю просто убрать надо. Ее можно при любом способе хранения алиасов сделать. Надо группировать алиасы и пользователей по-другому.
А вообще, у меня есть статья и не одна, как всё настроить и хранить пользователей и алиасы в базе mysql и управлять через браузер и postfixadmin.
Доброй ночи. Хотел спросить может что посоветуете и куда двигаться.
Задача следующая:
В офисе есть почтовый сервер назовем его так mail-1 установлен postfix+dovecote, выделенный ip, домен example-1.com, и направлен на ip. Все работает.
На хостинге есть VPS с выделенным ip, необходимо настроить через него отправку и прием почты для домена example-1.com и с пересылкой на сервер mail-1
Аналогично настроен почтовый сервер mail-2, с доменом example-2.com. Необходимо также через уже оговоренный VPS принимать и отправлять почту.
Всё это можно настроить средствами postfix. У меня есть еще заметка по схожей тематике - https://serveradmin.ru/postfix-vybor-servera-dlya-otpravki-v-zavisimosti-ot-poluchatelya/
Спасибо, попробую.
Добрый вечер!
Бьюсь уже который час, никак не могу вьехать. Есть SMTP типо [smtp.zoho.com]:587 - на нем есть два пользователя на одном домене, первый это noreply@mydomen.ru - со своим логином и паролем, и второй info@mydomen.ru - также со своим логином и паролем для smtp. Они оба находятся на одном домене, где произвести их настройку???? Подскажите куда копать если тут /etc/postfix/sasl_passwd их прописываю обоих то он ругается типо дубликат((((
Нужна только отправка почты и все.
postmap: warning: /etc/postfix/sasl_passwd.db: duplicate entry: "[smtp.zoho.com]:587" - вот что он пишет
А что вы вообще хотите настроить? Какой план отправки?
Добрый день.
Нетривиальный вопрос. а можно сделать в постфиксе маршрутизацию исходящих писем на основе домена получателя а не отправителя.
Например - все письма уходят напрямую, а для домена получателя zzz.com через релей mail.xyz.ru:25
Да, можно сделать примерно так же, как предложено в статье. Для этого надо воспользоваться настройкой transport_maps - http://www.postfix.org/postconf.5.html#transport_maps
Надо, наверное, упомянуть, что таблица sender_dependent_relayhost_map, которую Вы используете, имеет приоритет выше relayhost, но ниже transport_maps и relay_transport. И если последние параметры определены в кофиге, то таблица не сработет
Спасибо, полезное замечание.
Есть проблема поставил proxmox mail gateway почтовый сервер настраивал по вашей инструкции.
но теперь с этой связкой не проходит проверка существования почтового ящика на валидность.
Server doesn't allow e-mail address verification
Пишет что ящик не существует не знаю в какую сторону смотреть, без pmg все нормально.
Была похожая проблема, но только в роли анти-спама использую Cisco ironport. Решение было следующее :
в main.cf необходимо раскомментировать строку relay_recipient_maps = hash:/etc/postfix/relay_recipients.
В etc/postfix/ создать relay_recipients и внести в него адреса получателей вида example@exampe.com OK и так же нельзя забывать про служебные учётные записи postmaster@, abuse@, webmaster@ hostmaster@ которые так же нужно указать в relay_recipients , после чего обязательно делаем postmap relay_recipients , далее postfix reload и всё должно работать. Так же можно настроить relay_recipietns по средствам LDAP если у вас домен и много пользователей дабы не забивать всё в ручную.
А можно узнать по какой причине использовался PMG только для отправки писем, а не для приема также? Просто интересны сами случаи, когда есть не совсем стандартная конфигурация.
У себя используем PMG как почтовый шлюз больше года в связке с Zimbra для входящей и исходящей почты для нескольких почтовых доменов.
Полет нормальный, PMG показал себя только с положительной стороны. Спам ловит неплохо, при этом мы сами немного закрутили гайки дополнительно. Есть стандартные опции по фильтрации почты, белые, черные и greylist списки, прикручен стандартный антивирус и т.
д.
Для приема он тоже используется. Для этого на самом почтовом сервере никаких настроек делать не надо.