Нарисовал автоблеклист на основе того, что писал выше.
дамп таблицы (заливать в базу с экзимом)
Код: Выделить всё
CREATE TABLE `user_blacklist` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`sender_address` varchar(255) CHARACTER SET latin1 NOT NULL DEFAULT '',
`local_recipient` varchar(255) CHARACTER SET latin1 NOT NULL DEFAULT '',
`added_date` date DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;
Код: Выделить всё
warn set acl_m1 =$local_part@$domain
# deny if in local user`s blacklist (sender_address)
deny message = Mailbox $sender_address of domain $sender_address_domain is in a personal blacklist of $local_part
senders = ${lookup mysql{SELECT `sender_address` FROM `user_blacklist` WHERE `sender_address` = ' ${quote_mysql:$sender_address}' AND `local_recipient` = '${quote_mysql:$local_part@$domain}'}}
log_message = Mailbox $sender_address of domain $sender_address_domain is in a personal blacklist of $local_part
# deny if in local user`s blacklist (sender_address_domain)
deny message = Mailbox $sender_address of domain $sender_address_domain is in a personal blacklist of $local_part
senders = ${lookup mysql{SELECT `sender_address` FROM `user_blacklist` WHERE `sender_address` = ' ${quote_mysql:$sender_address_domain}' AND `local_recipient` = '${quote_mysql:$local_part@$dom
log_message = Mailbox $sender_address of domain $sender_address_domain is in a personal blacklist of $local_part
Код: Выделить всё
# for blacklist
accept condition = ${if eq{blacklist@blabla.dp.ua}{$acl_m1}{yes}{no}}
hosts = +relay_from_hosts
condition = ${lookup mysql{INSERT INTO `user_blacklist` (sender_address, local_recipient, added_date) VALUES (TRIM(BOTH '\n' FROM '${quote_mysql:$rheader_Subject:}'), '${quote_mysql:$sender_addr
log_message = blacklist updated
Вы отправляете письмо на ящик blacklist@blabla.dp.ua (ящик должен быть создан) И в теме письма указываете или весь домен целиком блокируемого или ящик. В базе появляется запись и в следующий раз письмо для юзера, который отправил запрос на ящик blacklist!!!!! с блокируемого домена (ящика), не придёт. Спасибо mastertronу за его чудные примеры. Далее по его примерам можно автоудалять с ящика ненужные письма, но я пока оставляю их для того что бы контролировать кто слал запросы на ящик и когда, пока не прикручу простенькую табличку на пхп.
Так же на основе всего этого можно нарисовать запрос для удаления записи из базы, если вы вдруг передумали блочить когото