LINUX.ORG.RU

exim копирование почты


0

0

Добрый день
Сейчас бьюсь над проблемой бэкапа всей "качественной" почты, то есть прошедшей проверку на спам и доступность юзера в LDAP базе...

То что приведено тут: http://mr-tacitus.blogspot.com/2007/11/exim.html на мой взгляд очень плохой способ, и с моими обьемами почтовик быстро нагнется...
Как вот тут http://forum.lissyara.su/viewtopic.php?p=8465 уже получше, все же не совсем то что хочется, но у меня с ldap-ом такой способ нифига не работает :(

Вот так вот сделал я:

# Backup incoming mail
if $recipients is "${lookup ldapdn{ldap:///ou=people,dc=domain,dc=ru?mail?sub?(mail=${quote_ldap:$local_par
t}${quote_ldap:@}${quote_ldap:$domain})}}"
then
    unseen deliver backup_incoming@domain.ru
endif

# Backup outgoing mail
if $sender_address is "${lookup ldapdn{ldap:///ou=people,dc=domain,dc=ru?mail?sub?(mail=${quote_ldap:$local_par
t}${quote_ldap:@}${quote_ldap:$domain})}}"
then
    unseen deliver backup_outgoing@domain.ru
endif

При таком раскладе входящая почта почему то летит в backup_outgoing О_о, причем вся, даже та которая поидее не должна была пройти проверку на $recipients или $sender_address... 
вобщем не совсем понятная ситуация...
Вот кусок из LDAP:

dn: uid=vpupkin,ou=People,dc=domain,dc=ru
imapPartition: default
mailHost: domain.ru
objectClass: mailRecipient
objectClass: UoAMailUser
objectClass: UniversityPerson
uid: username
structuralObjectClass: UniversityPerson
entryUUID: e3ab0b50-e04e-102c-8ea0-6f271462d431
creatorsName: cn=admin,dc=domain,dc=ru
createTimestamp: 20080707090028Z
cn:: 0JXQu9C10L3QsCDQmtGA0Y7Rh9C60L7QstCw
mail: vpupkin@domain.ru
mailAlternateAddress: vpupkin@domain.ru
mailRoutingAddress: vpupkin@domain.ru
sn:: 0JrRgNGO0YfQutC+0LLQsA==
userPassword:: e1NTSEF9TG9BMy9uWHaSsdGa0Jmdmhld2QzU0pEM1U2K0J4TmhGNUU=
entryCSN: 20080707090855Z#000000#00#000000
modifiersName: cn=admin,dc=domain,dc=ru
modifyTimestamp: 20080707090855Z

==================================

И был еще вариант, посредством роутера:
backup:
  driver = redirect
  allow_filter
  user = mail
  skip_syntax_errors
  unseen
  verify_recipient
  data = #Exim filter\n\
    if $h_X-Spam-Flag: is Yes\n\
    then\n\
    deliver "backup+spam@$domain"\n\
    endif\n\
    if $h_to: contains "@mydomain"\n\
    then\n\
    deliver "backup@$domain"\n\
    endif
  file_transport = address_file
  pipe_transport = address_pipe
  reply_transport = address_reply

Разумеется этот пример не рабочий (!) , но чтобы хоть как то понять ход моих мыслей все же привел пример, тут неясны две вещи:
1) как выяснять реально существующий ящик (опять же чтобы гадость не сыпалась вся подряд) 
2) в exim фильтре в этом случае спам сперва попадает в backup+spam, но здесь не останавливается, а продолжает идти дальше... ну и разумеется дублируется следующим правилом...

Если есть какие то соображения и предложения был бы очень благодарен... вторые сутки сижу, ничего подобного я найти не смог... 
Но, вполне возможно что кто то уже придумал как найти выход в моей ситуации :)
Спасибо!

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