Jump to content

Recommended Posts

Posted (edited)

Здравствуйте. Вопрос по postifix.

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

Домены описаны в базе mysql и добавлены в main.cf вот так

virtual_mailbox_domains = mysql:/etc/postfix/mysql_relay_domains_maps.cf

Клиенты этого сервера авторизируются через sasl или же описаны в mynetworks.

Возникла необходимость добавить следующее ограничение:

если адреса <MAIL FROM> И <RCPT TO> не являются адресами принадлежащими одному из виртуальных доменов то почту не отправлять.

 

Другими словами:

есть виртуальный домен abcd.ru

 

Почта с admin@abcd.ru на a@mail.ru отправляется

Почта с a@mail.ru на admin@abcd.ru принимается

а вот почта с a@mail.ru на a@rambler.ru не отправляется даже если клиент прошел sasl аутентификацию.

 

Подскажите пожалуйста как такое реализовать.

Edited by adron2
Posted (edited)

А в чем смысл этого "И"? Принимать почту с левого домена от своего клиента на виртуальный домен, но блокировать в мир?

 

 

Нет. И от клиента в мир и с мира на клиента почту разрешить.

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

Edited by adron2
Posted

у одного клиента сделано так:

 

smtpd_sender_restrictions = check_recipient_access mysql:/etc/postfix/sender.cf, check_sender_access mysql:/etc/postfix/sender.cf, reject

 

user = post

password = ?????

dbname = mail

table = postfix_access

select_field = access

where_field = source

additional_conditions = and type = 'sender'

hosts = 127.0.0.1

 

если в таблице адрес есть - разрешаем отправку, отдельная таблица делалась для того что бы туда можно было от балды адрес написать если очень нужно. А так при добавлении юзера адрес пишется в две таблички, обычную, и сюды...

Posted

у одного клиента сделано так:

 

smtpd_sender_restrictions = check_recipient_access mysql:/etc/postfix/sender.cf, check_sender_access mysql:/etc/postfix/sender.cf, reject

 

user = post

password = ?????

dbname = mail

table = postfix_access

select_field = access

where_field = source

additional_conditions = and type = 'sender'

hosts = 127.0.0.1

 

если в таблице адрес есть - разрешаем отправку, отдельная таблица делалась для того что бы туда можно было от балды адрес написать если очень нужно. А так при добавлении юзера адрес пишется в две таблички, обычную, и сюды...

 

То что нужно. Спасибо !

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...