LINUX.ORG.RU
ФорумAdmin

Не работает relay в postfix.

 , ,


1

1

Коллеги, вопрос такой. Конфигурирую релей с Postfix на exchange для отдельных пользователей. Делаю так: в main.cf добавил строчку transport_maps = hash:/etc/postfix/transport_maps

создал файл /etc/postfix/transport_maps

внес туда: sidorov@vt.local smtp:[IP_Exchange]

# postmap /etc/postfix/transport_maps

# postfix reload

В логе такие ошибки после сессии по telnet: Jul 11 12:13:43 mx postfix/smtpd[3289]: connect from localhost[::1] Jul 11 12:14:48 mx postfix/smtpd[3289]: NOQUEUE: reject: RCPT from localhost[::1]: 550 5.1.1 <sidorov@vt.local>: Recipient address rejected: User unknown in local recipient table; from=<CLIENT.VT.LOCAL> to=<sidorov@vt.local> proto=ESMTP helo=<TEST> Jul 11 12:14:50 mx postfix/smtpd[3289]: disconnect from localhost[::1]

Ниже конфиг main.cf в postfix. Помогите советом, куда рыть? Заранее благодарен.

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, 
$mydomain
mydomain = vt.local
myhostname = mx.vt.local
mynetworks = 10.0.0.0/8, 127.0.0.0/8, 172.0.0.0/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
transport_maps = hash:/etc/postfix/transport_maps
unknown_local_recipient_reject_code = 550

Перемещено beastie из general

Для релея одного transport_maps недостаточно т к он работает после того как postfix принял письмо. У вас должна быть объявлена директива relay_domains с именем домена и создана карта получателей relay_recipient_maps Если требуется форвардить всю почту, то можно воспользоваться relayhost

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

Спасибо.

Добавил в main.cf:

relay_domains = $mydestination

relay_recipient_maps = hash:/etc/postfix/relay_recipients

Дальше в файле /etc/postfix/relay_recipients был прописано: sidorov@vt.local OK

# postmap /etc/postfix/relay_recipients

# postfix reload

Ошибка точно такая же: 550 5.1.1 <sidorov@vt.local>: Recipient address rejected: User unknown in local recipient table

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

1) postfix достаточно сложен в понимании. Кроме того, всё что ты не указал в конфиге, он додумывает за тебя. Смотри дополненный конфиг:

postconf | less

смотри smtpd_recipient_restrictions, добавляй в main.cf и правь на свой вкус

2) таблица transport_maps используется исключительно транспортом virtual. Чтобы использовался транспорт virtual, тебе нужно чтобы письмо было для virtual_mailbox_domains

Итак

virtual_mailbox_domains = vt.local
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailboxes # тут ты перечисляешь адреса,
 # на которые ты будешь принимать почту.
 # Минимальная защита от спамеров, никогда не пренебрегай

transport_maps = hash:/etc/postfix/transport_maps

smtpd_recipient_restrictions =
  permit_auth_destination
  reject

3) Я не использовал relay_recipient_maps и гуглить лень, но судя по названию использование этого параметра крайне нежелательно

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

Думаю дело в том, что у тебя адрес vt.local объявлен в mydestination. Я бы убрал его оттуда и оставил его только в relay_domains

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

В мане ничего про то, что transport_maps используется только virtual - нет. http://www.postfix.org/transport.5.html У меня транспорт отлично работает для всей почты, идущий через сервер.

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

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