EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
jamesx
- рядовой
- Сообщения: 15
- Зарегистрирован: 2008-08-12 13:13:53
Непрочитанное сообщение
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}}
но как точно не знаю...? Помогите осилить.
jamesx
-
Хостинг HostFood.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
- Откуда: Сочи, Москва
-
Контактная информация:
Непрочитанное сообщение
princeps » 2009-04-24 8:21:50
что мешает просто попробовать?
princeps
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
Laa » 2009-04-27 10:30:21
Вообще -- не очень хорошая идея плодить домены с алиасами. Вот совсем плохая идея. Это находка для спамера. Выберите себе один единственный домен, принимайте на него почту, а на остальных сделайте заглушки. Ну или делайте грейлист для письма, если localpart одинаковое для разных доменов. Один фиг, нормальные отправители будут слать на одни единственный домен, а алиас-домены -- то вы себе сделали чтобы спама больше было, отправителям эти домены не нужны...

exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
Laa
-
jamesx
- рядовой
- Сообщения: 15
- Зарегистрирован: 2008-08-12 13:13:53
Непрочитанное сообщение
jamesx » 2009-04-27 11:08:21
Laa писал(а):Вообще -- не очень хорошая идея плодить домены с алиасами. Вот совсем плохая идея. Это находка для спамера. Выберите себе один единственный домен, принимайте на него почту, а на остальных сделайте заглушки. Ну или делайте грейлист для письма, если localpart одинаковое для разных доменов. Один фиг, нормальные отправители будут слать на одни единственный домен, а алиас-домены -- то вы себе сделали чтобы спама больше было, отправителям эти домены не нужны...

Алиасы нужны и отказаться от них нельзя, а грейлистинг неприемлем из-за задержек.
jamesx
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
Laa » 2009-04-27 11:49:17
Вам часто пишут
нормальные отправители на
vasya@dom1.ru и на
vasya@dom2.ru одним письмом???
Уверен, что НЕТ. А спамеры пишут. И вы хотите эту проблему решить. Так? Так вот грейлист для таких писем позволит не потерять важное письмо и при этом уменьшить кол-во спама.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
Laa
-
jamesx
- рядовой
- Сообщения: 15
- Зарегистрирован: 2008-08-12 13:13:53
Непрочитанное сообщение
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
и т.д.
и из нее делать выборку для проверки.
jamesx
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
Laa » 2009-04-27 12:30:39
Замучаетесь поддерживать такую базу...
Таки для начала сделайте просто -- письмо на vasya в двух и более ваших доменах отправляется в грейлист.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
Laa
-
jamesx
- рядовой
- Сообщения: 15
- Зарегистрирован: 2008-08-12 13:13:53
Непрочитанное сообщение
jamesx » 2009-04-27 13:16:33
Поддерживать будет не сложно, т.к. адреса меняются очень редко.
А отправлять в грейлист все равно не получится. Все равно надо делать соответствия, у какого пользователя какой домен (или домены).
jamesx
-
Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Непрочитанное сообщение
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!!!
Laa