Пытаюсь создать фильтр, который копирует всю входящую и исходящую почту.
В качестве почтовой системы -- postfix 2.x
Нашел документ на opennet, описывающий как прикрутить подобную фильтрацию
http://www.opennet.me/base/net/postfix_bcc_copy.txt.html.Сделал, все работает. Теперь появилось желание хранить базу пользователей, для которых нужна фильтрация, в mysql, точнее использовать сущесствующую, с добавленным полем backup.
Произвел следующие модификации:master.cf:
backup unix - n n - - pipe
flags=R user=mail_backup argv=/etc/postfix/backup_script ${sender} ${recipient}main.cf:
smtpd_restriction_classes = backup_email
backup_email = check_sender_access mysql:/etc/postfix/backup-email.cf
smtpd_sender_restrictions = backup_email, permit_mynetworks,reject_unauth_destinationbackup-email.cf:
user = mail
password = postfix
dbname = mail
table = users
select_field = concat(email,' FILTER backup:')
where_field = email
additional_conditions = and backup = 1
hosts = localhostbackup_script:
#!/bin/bash
/usr/sbin/sendmail $2 copy@mydomain.ruЗапускаю
foo postfix # postmap -q lalal@lalala.ru mysql:/etc/postfix/backup-email.cf
lalal@lalala.ru FILTER backup:фильтр из базы подцепляется верно
Но, при работе, постфикс выдает в лог следующие ошибки:
Oct 24 18:54:37 in4net postfix/smtpd[8750]: starting TLS engine
Oct 24 18:54:37 in4net postfix/smtpd[8750]: connect from unknown[192.168.0.73]
Oct 24 18:54:37 in4net postfix/smtpd[8750]: warning: SMTPD access map mysql:/etc/postfix/backup-email.cf has entry with lookup table: lalal@lalala.ru FILTER backup:
Oct 24 18:54:37 in4net postfix/smtpd[8750]: warning: do not specify lookup tables inside SMTPD access maps
Oct 24 18:54:37 in4net postfix/smtpd[8750]: warning: define a restriction class and specify its name instead.
Oct 24 18:54:37 in4net postfix/smtpd[8750]: NOQUEUE: reject: RCPT from unknown[192.168.0.73]: 451 Server configuration error; from=<lalal@lalala.ru> to=<admin@bebebe.ru> proto=ESMTP helo=
Oct 24 18:54:37 in4net postfix/cleanup[9707]: 2E5FE5F72: message-id=<20041024185437.2E5FE5F72@lalala.ru>
Oct 24 18:54:37 in4net postfix/qmgr[17210]: 2E5FE5F72: from=<double-bounce@lalala.ru>, size=920, nrcpt=1 (queue active)
Oct 24 18:54:37 in4net postfix/smtpd[8750]: disconnect from unknown[192.168.0.73]Какие есть идеи, где грабли?
>Какие есть идеи, где грабли?
Грабли: вы не поняли идею restriction classes - почитайте документацию, а не статью.Идея: использовать вместо скрипта "sender_bcc_maps"
>>Какие есть идеи, где грабли?
>Грабли: вы не поняли идею restriction classes - почитайте документацию, а не
>статью.
>
>Идея: использовать вместо скрипта "sender_bcc_maps"И в чем я её не понял?
>И в чем я её не понял?
Прочитайте тут http://www.postfix.org/RESTRICTION_CLASS_README.html
>>>Какие есть идеи, где грабли?
>>Грабли: вы не поняли идею restriction classes - почитайте документацию, а не
>>статью.
>>
>>Идея: использовать вместо скрипта "sender_bcc_maps"
>
>И в чем я её не понял?Решил эту проблему, если решил то как?
>>>>Какие есть идеи, где грабли?
>>>Грабли: вы не поняли идею restriction classes - почитайте документацию, а не
>>>статью.
>>>
>>>Идея: использовать вместо скрипта "sender_bcc_maps"
>>
>>И в чем я её не понял?
>
>Решил эту проблему, если решил то как?Решил. Через sender_bcc_maps и
recipients_bcc_maps определяю какую именно почту надо копировать (от кого\кому). Адрес, на который копируется почта, вношу в local доставку, и применяю для него procmail, раскладывая по папочкам imap по отправителям\получателям.