Blacklist и web-морда

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

Blacklist и web-морда

Непрочитанное сообщение mediamag » 2010-11-15 22:30:07

Добрый день, вот возникла идея: чтобы юзер смог создавать свой блеклист, например, заходя на вебморду почтовика (roundcube или postfixadmin) юзер смог отправить на ящик blocklist@domen.ua определенный ящик (в теме письма или еще где нибудь) и с этого ящика перестает приходить почта. Есть ли чтото готовое? Ну или хотя бы примерно похожее?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

Re: Blacklist и web-морда

Непрочитанное сообщение mediamag » 2010-11-17 11:17:47

Вот наваял ручной блеклист, не судите строго, первый раз писал запросы в мускул....может ктото сможет написать элементарную вебморду, в которой юзер сначала авторизовывался на сервере, а потом вписывал нежелательные домены, но только для своего мыла по которому он авторизовался на веб морде.
табличка user_blacklist...ее закинуть в базу экзима

Код: Выделить всё

CREATE TABLE `user_blacklist` (
`id` bigint(20) NOT NULL auto_increment,
`relay_ip` char(15) default NULL,
`sender_domain` char(64) default NULL,
`recipient` char(64) default NULL,
`ehlo` char(64) default NULL,
PRIMARY KEY  (`id`)
) TYPE=MyISAM ;
Кондишн:

Код: Выделить всё

# Local user`s blacklist

  deny    message       = Mailbox of domain $sender_address_domain is in a personal blacklist of $local_part
          senders       = ${lookup mysql{SELECT `sender_domain` FROM `user_blacklist` WHERE `sender_domain` = '${quote_mysql:$sender_address_domain}' AND `recipient`='${quote_mysql:$local_part@$domain}'}}
          log_message   = Mailbox of domain $sender_address_domain is in a personal blacklist of $local_part
И ручками добавляем домен в колонки таблицы user_blacklist, либо так:

Код: Выделить всё

INSERT INTO `user_blacklist` VALUES ('1', null, 'baddomen.ru', 'admin@domen.ru', null);

baddomen.ru - домен блокируемого
admin@domen.ru - ящик, на кого блокировать.
Остальные колонки (id,ehlo,relay_ip) я создал для жесткой привязки ip>baddomen.ru, но пока этим не пользуюсь

P.S. Не проходите мимо, если у вас есть какая нить веб-морда или идеи по автоматизации блеклиста

atomlab
проходил мимо
Сообщения: 2
Зарегистрирован: 2011-07-18 10:33:18

Re: Blacklist и web-морда

Непрочитанное сообщение atomlab » 2011-07-18 10:50:33

Есть модуль для Roundcube.
SpamAssassin User Prefs
http://www.tehinterweb.co.uk/roundcube/#pisauserprefs
Помимо настроек для SpamAssassin есть возможность в базу добавлять белые и черные списки.
http://min.us/mvAH2E#1f
В коде плагина можно поменять таблицы на свои.

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Blacklist и web-морда

Непрочитанное сообщение Laa » 2011-07-22 22:45:09

Важно тут правильно обкатать такой блеклист.
Вот, например, живая ситуация. У вас два юзера, которым идет одно письмо в одном процессе доствки. Первый юзер не создавал блеклисты и ему это письмо нужно, а второй, скажем случайно или ошибочно в блеклист внес отправителя, ну или домен отправителя и тд. Екзим, скорее всего это письмо отобьет и не примет для обоих юзеров! Первый юзер начнет постмастеру выносить мозг и, возможно, понесет финансовые убытки.
Так что тщательно тестируйте!
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!