сервер на postfix'е принимает почту для нескольких доменов, для _части_ этих доменов возможно получение списка пользователей, возможно ли организовать проверку наличия пользователей, только для тех доменов для которых доступны списки пользователей, для остальных организовать прием всех писем.ЗЫ: описана система анти спам/вирус, которая выполнив фильтрацию пересылает почту на другие почтовые сервера.
> сервер на postfix'е принимает почту для нескольких доменов, для _части_ этих доменов
> возможно получение списка пользователей, возможно ли организовать проверку наличия пользователей,
> только для тех доменов для которых доступны списки пользователей, для остальных
> организовать прием всех писем.
> ЗЫ: описана система анти спам/вирус, которая выполнив фильтрацию пересылает почту на другие
> почтовые сервера.check_recipient_access type:table
формируется таблица, а она проверяется линейно-последовательно )
сначала идет список валидных получателей домена со словом OK
потом идет @domain.com REJECT No such user here
потом новый домен аналогичным образом.
.
>[оверквотинг удален]
>> только для тех доменов для которых доступны списки пользователей, для остальных
>> организовать прием всех писем.
>> ЗЫ: описана система анти спам/вирус, которая выполнив фильтрацию пересылает почту на другие
>> почтовые сервера.
> check_recipient_access type:table
> формируется таблица, а она проверяется линейно-последовательно )
> сначала идет список валидных получателей домена со словом OK
> потом идет @domain.com REJECT No such user here
> потом новый домен аналогичным образом.
> .или relay_recipient
> check_recipient_access type:table
> формируется таблица, а она проверяется линейно-последовательно )
> сначала идет список валидных получателей домена со словом OK
> потом идет @domain.com REJECT No such user here
> потом новый домен аналогичным образом.
> .а если мапы смешаные - у одних из LDAP'а, у других mysql, у кого-то возможны списки? чтобы не городить со скриптами.
ещё, не нашёл в описании, в таблице access можно в конце таблицы указать какой-то вайлдкард, чтобы всё остальное принималось?
>> check_recipient_access type:table
>> формируется таблица, а она проверяется линейно-последовательно )
>> сначала идет список валидных получателей домена со словом OK
>> потом идет @domain.com REJECT No such user here
>> потом новый домен аналогичным образом.
>> .
> а если мапы смешаные - у одних из LDAP'а, у других mysql,
> у кого-то возможны списки? чтобы не городить со скриптами.Вы сказали - "возможно получение списка пользователей". Значит получайте. Пусть и скриптами. Под этот вопрос - было дано решение.
под "а если" - решение другое:
http://www.postfix.org/ADDRESS_VERIFICATION_README.html
Включить для всех доменов:
smtpd_recipient_restrictions =
reject_unknown_recipient_domain
reject_unverified_recipient
....Включить для части доменов:
smtpd_recipient_restrictions =
....
check_recipient_access hash:/etc/postfix/check_domains
.../etc/postfix/check_domains:
aol.com reject_unverified_sender
hotmail.com reject_unverified_sender
bigfoot.com reject_unverified_sender
Ну и остальные параметры можно увидеть в man 5 postconf поиском по строке address_verify> ещё, не нашёл в описании, в таблице access можно в конце таблицы
> указать какой-то вайлдкард, чтобы всё остальное принималось?по дефолту оно не влияет на прохождение письма, соответственно правила будут проверяться дальше.
> /etc/postfix/check_domains:
> aol.com reject_unverified_sender
> hotmail.com reject_unverified_sender
> bigfoot.com reject_unverified_senderreject_unverified_recipient
>> /etc/postfix/check_domains:
>> aol.com reject_unverified_sender
>> hotmail.com reject_unverified_sender
>> bigfoot.com reject_unverified_sender
> reject_unverified_recipientа как указать на разные мапы для разных доменов?
>>> /etc/postfix/check_domains:
>>> aol.com reject_unverified_sender
>>> hotmail.com reject_unverified_sender
>>> bigfoot.com reject_unverified_sender
>> reject_unverified_recipient
> а как указать на разные мапы для разных доменов?а как указать одну мапу для всех доменов ?
Вы вообще хоть что-то из рекомендованного мной прочитали ?
>>>> /etc/postfix/check_domains:
>>>> aol.com reject_unverified_sender
>>>> hotmail.com reject_unverified_sender
>>>> bigfoot.com reject_unverified_sender
>>> reject_unverified_recipient
>> а как указать на разные мапы для разных доменов?
> а как указать одну мапу для всех доменов ?
> Вы вообще хоть что-то из рекомендованного мной прочитали ?уваваемый, я в курсе вашего самомнения :)
>>>>> /etc/postfix/check_domains:
>>>>> aol.com reject_unverified_sender
>>>>> hotmail.com reject_unverified_sender
>>>>> bigfoot.com reject_unverified_sender
>>>> reject_unverified_recipient
>>> а как указать на разные мапы для разных доменов?
>> а как указать одну мапу для всех доменов ?
>> Вы вообще хоть что-то из рекомендованного мной прочитали ?
> уваваемый, я в курсе вашего самомнения :)ну так попробуйте почитать еще и документацию.
>>>>>> /etc/postfix/check_domains:
>>>>>> aol.com reject_unverified_sender
>>>>>> hotmail.com reject_unverified_sender
>>>>>> bigfoot.com reject_unverified_sender
>>>>> reject_unverified_recipient
>>>> а как указать на разные мапы для разных доменов?
>>> а как указать одну мапу для всех доменов ?
>>> Вы вообще хоть что-то из рекомендованного мной прочитали ?
>> уваваемый, я в курсе вашего самомнения :)
> ну так попробуйте почитать еще и документацию.документация это хорошо, но опыт не заменит, форум место обмена, в том числе, опытом.
>[оверквотинг удален]
>>>>>>> hotmail.com reject_unverified_sender
>>>>>>> bigfoot.com reject_unverified_sender
>>>>>> reject_unverified_recipient
>>>>> а как указать на разные мапы для разных доменов?
>>>> а как указать одну мапу для всех доменов ?
>>>> Вы вообще хоть что-то из рекомендованного мной прочитали ?
>>> уваваемый, я в курсе вашего самомнения :)
>> ну так попробуйте почитать еще и документацию.
> документация это хорошо, но опыт не заменит, форум место обмена, в том
> числе, опытом.Опытом нельзя обменяться.
Можно поделиться идеями или даже решениями (если их удается применить без изменений), а вот опыт человек получает исключительно сам.Выше описаны идеи. К сожалению, я понимаю, что идеи эти не были восприняты, делаю этот вывод постольку, поскольку отстуствует оценка применимости идеи к вашему окружению.
Ну, что поделать, хотите еще идей и опыта - пожалуйста, не жалко, вдруг примените да еще и отзыв напишете, получилось или нет:#Конфиг
smtpd_restriction_classes = domain_a domain_b domain_c
smtpd_recipient_restrictions =
....
check_recipient_access hash:/etc/postfix/check_domains
...domain_a = check_recipient_access mysql:/some/path/domain_a.cfg.mysql
domain_b = check_recipient_access hash:/some/path/domain_b.users
domain_c = check_recipient_access ldap:/some/path/domain_c.cfg.ldap
#/etc/postfix/check_domains:
a.domain.tld domain_a
b.domain.tld domain_b
c.domain.tld domain_c
+ man ldap_table
+ man mysql_table
И даже этот ответ не оказался нужным :-)
> И даже этот ответ не оказался нужным :-)очень нужный ответ, серьёзно, просто вчера появились другие дела, как попробую обязательно отпишусь
На самом деле если исправить терминологию, то получится так:#Конфиг
smtpd_restriction_classes = service_a service_b service_c
smtpd_recipient_restrictions =
....
check_recipient_access hash:/etc/postfix/check_domains
...service_a = check_recipient_access mysql:/some/path/service_a.cfg.mysql
service_b = check_recipient_access hash:/some/path/service_b.users
service_c = check_recipient_access ldap:/some/path/service_c.cfg.ldap
#/etc/postfix/check_domains:
a.domain.tld service_a
other.domain.tld service_a
b.domain.tld service_b
elsewhere.domain.tld service_b
c.domain.tld service_c
something.else.com service_c