LINUX.ORG.RU
ФорумAdmin

postfix, переадресация на другой сервер, который обслуживает тот же домен, нескольких ящиков

 


0

1

Всем привет!

Настроил уже не первый почтовый сервер и столкнулся с проблемой, с ходу не понимаю как решить. Есть postfix, который обслуживает domain.ru и есть еще один почтовый сервер, который обслуживает domain.ru. Если отправлять на nekto@domain.ru с postfix, то postfix пытается найти путь к этому ящику у себя, а его там может не быть, так как пока через него идет только часть почты (миграция плавная). Как мне с postfix сделать переадресацию на некоторые ящики вида nekto@domain.ru (именно некоторые), на другой почтовый сервер. Знаю только как глобально переадресовать весь домен, либо на ящик на другом домене.

Может у кого-то есть идеи?

Настраивайте transport_maps, и, чтобы не мучатся с MX-записями, прописывайте там dns-имя или ip-адрес в квадратных скобках.

mky ★★★★★ ()
Ответ на: комментарий от mky

Там яндекс стоит у товарищей. То есть тупо что-то вроде smtp.yandex.ru? У Яндекса видел такую инструкцию.

mail@domain.ru smtp.yandex.ru? так?

job_maker ()
Ответ на: комментарий от mky

не получается

mail@domain.ru smtp:mx.yandex.ru не срабатывает transport_maps. Там 2 MX записи. Одна с меньшим приоритетом на postfix, другая на яндекс. По идее по MX записи отправиться должно, почему не отправляется, а postfix пишет что нет такого пользователя в виртуальной таблице?

job_maker ()
Ответ на: комментарий от job_maker

По идее по MX записи

Я ведь советовал не связываться с MX-записями в transports.

не срабатывает transport_maps.

Он в конфиге указан?

а postfix пишет что нет такого пользователя в виртуальной таблице

Какой таблице? Что именно пишет postfix?

mky ★★★★★ ()
Ответ на: комментарий от mky

postconf -n: append_dot_mydomain = no

biff = no

config_directory = /etc/postfix

inet_interfaces = all

inet_protocols = ipv4

local_recipient_maps =

mydestination = localhost.localdomain localhost local_recipients_maps =

mydomain = mail.domain2.ru.ru

myhostname = mail.domain2.ru.ru

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 ipv4-site myorigin = domain1.ru

readme_directory = no

recipient_delimiter = +

relayhost =

smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtp_use_tls = yes

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)

smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem

smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key

smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache

smtpd_use_tls = yes

transport_maps = hash:/etc/postfix/transport

virtual_alias_maps = mysql:/etc/postfix/virtual-alias-maps.cf

virtual_gid_maps = static:5000

virtual_mailbox_domains = mysql:/etc/postfix/virtual-mailbox-domains.cf

virtual_mailbox_maps = mysql:/etc/postfix/virtual-mailbox-maps.cf

virtual_uid_maps = static:5000

Лог May 18 11:36:25 mail postfix/smtpd[20976]: NOQUEUE: reject: RCPT from dns-name[ipv4]: 550 5.1.1 <user@domain1.ru>: Recipient address rejected: User unknown in virtual mailbox table; from=<no-reply@domain1.ru> to=<user@domain1.ru> proto=ESMTP helo=<domain1.ru>

transport:

domain1.ru smtp:smtp.yandex.ru

job_maker ()
Ответ на: комментарий от job_maker

Теперь понятно про какую виртульную таблицу было:

а postfix пишет что нет такого пользователя в виртуальной таблице?

Пишет он это по причине, что по умолчанию включено smtpd_reject_unlisted_recipient, а адрес user@domain1.ru вы, судя по всему, уже удалили из mysql.

Зачем в transport прописан весь domain1.ru непонятно. Вы же отдельный ящик хотели.

И, в целом, задача становится непонятной. Если вы решили часть ящиков оставить на сервере, а часть сделать на не контролируемом вами yandex.ru, то это фигня получится. Две MX-записи ничего не гарантируют. Любая проблема с обработкой первой MX и письмо будет отправлено на вторую, а там, судя по всему, yandex, и, если там этого ящика нет, письмо будет потеряно.

mky ★★★★★ ()
Ответ на: комментарий от mky

да я уже готов всю входящую почту на яндекс пока что направить, на время перехода. А на постфиксе исходящую оставить.

То есть суть такая. есть сайт domain1.ru, он шлет через no-reply.domain1.ru сообщения. Но еще есть другие юзеры, и почта у них на яндексе пока что. Надо чтоб им с сайта доходили письма, а не так, как сейчас. А еще лучше, чтобы отдельным пользователям доходили, чтобы можно было плавно их переводить.

job_maker ()
Ответ на: комментарий от mky

сделал домен 3 уровня, на нем ящик для исходящей почты no-reply. Все) видимо надо подробнее изучить postfix.

job_maker ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.