Exim проверка получателя в базе

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
jamesx
рядовой
Сообщения: 15
Зарегистрирован: 2008-08-12 13:13:53

Exim проверка получателя в базе

Непрочитанное сообщение jamesx » 2009-04-23 16:46:21

Добрый день!
На сервере несколько доменов-алиасов, но многим пользователям нужны адреса только с одним..двумя доменами, для снижения спама хочу сделать следующую проверку: блокировать письмо, если local_part адреса получателя встречается в поле user таблицы addrlist, но полного адреса получателя не содержится в поле addr этой же таблицы.
В таблицу addrlist будут руками заноситься записи для нужных пользователей, на остальных (т.к. их local_part нет в поле user таблицы) данное правило вообще не будет действовать
Полагаю должно быть где-то так:

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

condition = ${if !eq{${lookup mysql {SELECT `addr1` FROM `addrlist`}}}\
                            WHERE `user`= {${local_part}}
                            OR
                            ${if !eq{${lookup mysql {SELECT `addr2` FROM `addrlist`}}}\
                            WHERE `user`= {${local_part}}
но как точно не знаю...? Помогите осилить.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Exim проверка получателя в базе

Непрочитанное сообщение princeps » 2009-04-24 8:21:50

что мешает просто попробовать?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

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

Re: Exim проверка получателя в базе

Непрочитанное сообщение Laa » 2009-04-27 10:30:21

Вообще -- не очень хорошая идея плодить домены с алиасами. Вот совсем плохая идея. Это находка для спамера. Выберите себе один единственный домен, принимайте на него почту, а на остальных сделайте заглушки. Ну или делайте грейлист для письма, если localpart одинаковое для разных доменов. Один фиг, нормальные отправители будут слать на одни единственный домен, а алиас-домены -- то вы себе сделали чтобы спама больше было, отправителям эти домены не нужны... 8)
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

jamesx
рядовой
Сообщения: 15
Зарегистрирован: 2008-08-12 13:13:53

Re: Exim проверка получателя в базе

Непрочитанное сообщение jamesx » 2009-04-27 11:08:21

Laa писал(а):Вообще -- не очень хорошая идея плодить домены с алиасами. Вот совсем плохая идея. Это находка для спамера. Выберите себе один единственный домен, принимайте на него почту, а на остальных сделайте заглушки. Ну или делайте грейлист для письма, если localpart одинаковое для разных доменов. Один фиг, нормальные отправители будут слать на одни единственный домен, а алиас-домены -- то вы себе сделали чтобы спама больше было, отправителям эти домены не нужны... 8)
Алиасы нужны и отказаться от них нельзя, а грейлистинг неприемлем из-за задержек.

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

Re: Exim проверка получателя в базе

Непрочитанное сообщение Laa » 2009-04-27 11:49:17

Вам часто пишут нормальные отправители на vasya@dom1.ru и на vasya@dom2.ru одним письмом???
Уверен, что НЕТ. А спамеры пишут. И вы хотите эту проблему решить. Так? Так вот грейлист для таких писем позволит не потерять важное письмо и при этом уменьшить кол-во спама.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

jamesx
рядовой
Сообщения: 15
Зарегистрирован: 2008-08-12 13:13:53

Re: Exim проверка получателя в базе

Непрочитанное сообщение jamesx » 2009-04-27 12:11:14

Laa писал(а):Вам часто пишут нормальные отправители на vasya@dom1.ru и на vasya@dom2.ru одним письмом???
Уверен, что НЕТ. А спамеры пишут. И вы хотите эту проблему решить. Так? Так вот грейлист для таких писем позволит не потерять важное письмо и при этом уменьшить кол-во спама.
Нет, одним письмом не пишут. Имеется ввиду следующиее: есть домены dom1, dom2, dom3..... domN, Васе могут писать на vasya@dom1 и на vasya@dom5, например, но на все остальные (vasya@dom2, vasya@dom4 и т.д.) ему не могут писать нормальные отправители, а спамеры могут, вот это и надо пресечь.

т.е. в таблице я хочу завести соответствия:

user addr1 addr2

vasya dom1 dom5
pupkin dom3 dom7
и т.д.
и из нее делать выборку для проверки.

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

Re: Exim проверка получателя в базе

Непрочитанное сообщение Laa » 2009-04-27 12:30:39

Замучаетесь поддерживать такую базу... :(

Таки для начала сделайте просто -- письмо на vasya в двух и более ваших доменах отправляется в грейлист.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

jamesx
рядовой
Сообщения: 15
Зарегистрирован: 2008-08-12 13:13:53

Re: Exim проверка получателя в базе

Непрочитанное сообщение jamesx » 2009-04-27 13:16:33

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

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

Re: Exim проверка получателя в базе

Непрочитанное сообщение Laa » 2009-04-27 21:16:45

jamesx писал(а):Добрый день!
На сервере несколько доменов-алиасов, но многим пользователям нужны адреса только с одним..двумя доменами, для снижения спама хочу сделать следующую проверку: блокировать письмо, если local_part адреса получателя встречается в поле user таблицы addrlist, но полного адреса получателя не содержится в поле addr этой же таблицы.
В таблицу addrlist будут руками заноситься записи для нужных пользователей, на остальных (т.к. их local_part нет в поле user таблицы) данное правило вообще не будет действовать
Полагаю должно быть где-то так:

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

condition = ${if !eq{${lookup mysql {SELECT `addr1` FROM `addrlist`}}}\
                            WHERE `user`= {${local_part}}
                            OR
                            ${if !eq{${lookup mysql {SELECT `addr2` FROM `addrlist`}}}\
                            WHERE `user`= {${local_part}}
но как точно не знаю...? Помогите осилить.
Не проверял, но пробуйте как-то так, возможно опечатался или где-то ошибся... :

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

deny message = Reject: local policy. Looks like spam.
 condition = ${if >{lookup mysql{SELECT count(user) FROM addrlist WHERE user = '${quote_mysql:$local_part}'}}{0}}    ## встречается в поле user
 condition = ${if ={lookup mysql{SELECT count(addr) FROM addrlist WHERE addr='${quote_mysql:$local_part@$domain}'}}{0}}  ## не содержится
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!