Home » Linux » Postfix - настройка relayhost, отдельный для каждого домена

Postfix - настройка relayhost, отдельный для каждого домена

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

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом "Administrator Linux. Professional" в OTUS. Курс не для новичков, для поступления нужно пройти . Цены 2020 года.

В общем случае проблема пересылки почты решается очень просто. Если вы хотите, чтобы отправка всей почты шла через другой 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.

Онлайн курс по Linux

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом "Administrator Linux. Professional" в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Что даст вам этот курс:
  • Знание архитектуры Linux.
  • Освоение современных методов и инструментов анализа и обработки данных.
  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по . Цены 2020 года.
Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

18 комментариев

  1. Руслан

    Добрый день! Подскажите как сделать так чтоб Postfix отправлял исходящие письма с машины находящейся в VPN , можно ли это реализовать без доп smtp сервера?

    • Тут 2 варианта:
      1. Вы делаете машину с vpn шлюзом для почтового сервера с postfix. Тогда он всю почту отправляет через него, как и прочий сетевой трафик.
      2. Вы на vpn сервере настраиваете smtp сервер и на postfix указываете его в качестве relayhost.

      Выбирать вам, как лучше сделать, в зависимости от ваших условий.

  2. Здравствуйте! Посоветуйте, как выйти из ситуации, и вообще реально ли это. В организации настроен старый postfix, и люди баловались алиасами. Теперь в /etc/aliases нахожу записи вида user1: user1, user2, user3... и user2: user2, user1, user3 ... И в логах жалуется на петлю, при этом сами пользователи хотят получать письма друг друга "как они всегда делали!" Я так понимаю через алиасы эту проблему не решить, существуют ли какой-то другой метод, который решит мою проблему?

    • Так петлю просто убрать надо. Ее можно при любом способе хранения алиасов сделать. Надо группировать алиасы и пользователей по-другому.

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

  3. Евгений

    Доброй ночи. Хотел спросить может что посоветуете и куда двигаться.
    Задача следующая:
    В офисе есть почтовый сервер назовем его так mail-1 установлен postfix+dovecote, выделенный ip, домен example-1.com, и направлен на ip. Все работает.
    На хостинге есть VPS с выделенным ip, необходимо настроить через него отправку и прием почты для домена example-1.com и с пересылкой на сервер mail-1
    Аналогично настроен почтовый сервер mail-2, с доменом example-2.com. Необходимо также через уже оговоренный VPS принимать и отправлять почту.

  4. Добрый вечер!
    Бьюсь уже который час, никак не могу вьехать. Есть SMTP типо [smtp.zoho.com]:587 - на нем есть два пользователя на одном домене, первый это noreply@mydomen.ru - со своим логином и паролем, и второй info@mydomen.ru - также со своим логином и паролем для smtp. Они оба находятся на одном домене, где произвести их настройку???? Подскажите куда копать если тут /etc/postfix/sasl_passwd их прописываю обоих то он ругается типо дубликат((((

    Нужна только отправка почты и все.

  5. Василий

    Добрый день.
    Нетривиальный вопрос. а можно сделать в постфиксе маршрутизацию исходящих писем на основе домена получателя а не отправителя.
    Например - все письма уходят напрямую, а для домена получателя zzz.com через релей mail.xyz.ru:25

  6. Сергій

    Надо, наверное, упомянуть, что таблица sender_dependent_relayhost_map, которую Вы используете, имеет приоритет выше relayhost, но ниже transport_maps и relay_transport. И если последние параметры определены в кофиге, то таблица не сработет

  7. Дмитрий

    Есть проблема поставил 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 если у вас домен и много пользователей дабы не забивать всё в ручную.

  8. Алексей

    А можно узнать по какой причине использовался PMG только для отправки писем, а не для приема также? Просто интересны сами случаи, когда есть не совсем стандартная конфигурация.

    У себя используем PMG как почтовый шлюз больше года в связке с Zimbra для входящей и исходящей почты для нескольких почтовых доменов.
    Полет нормальный, PMG показал себя только с положительной стороны. Спам ловит неплохо, при этом мы сами немного закрутили гайки дополнительно. Есть стандартные опции по фильтрации почты, белые, черные и greylist списки, прикручен стандартный антивирус и т.
    д.

    • Для приема он тоже используется. Для этого на самом почтовом сервере никаких настроек делать не надо.

Добавить комментарий

Ваш адрес email не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.