Exim + MySQL + WhiteList

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Valentaim
рядовой
Сообщения: 16
Зарегистрирован: 2007-10-25 13:23:29

Exim + MySQL + WhiteList

Непрочитанное сообщение Valentaim » 2007-11-28 17:50:43

Создаю базу *белых* адрессов с помощью вот этого кода:

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

hosts_avoid_esmtp =  ${lookup mysql{INSERT IGNORE INTO `sended_list` \
			(`user_from`, `user_to`, `added_timestamp`, \
			`last_mail_timestamp`, `mail_count`) VALUES \
			(LCASE('${quote_mysql:$sender_address}'), \
			LCASE('${quote_mysql:$local_part@$domain}'), \
			UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), '1') ON DUPLICATE \
			KEY UPDATE `last_mail_timestamp` = UNIX_TIMESTAMP(), \
			`mail_count` = `mail_count` + 1}}
база потихоньку растет, но иногда попадают адресса типа: @, @mail, user@. С чем это связано и как это будет влиять на работу фильтра по белому списку?

Хостинговая компания 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/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35465
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim + MySQL + WhiteList

Непрочитанное сообщение Alex Keda » 2007-11-28 21:42:25

удалять...
откуда берутся - рикошеты и письма более чем одному юзеру.
удалять. могу завтра скрипт выложить.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: Exim + MySQL + WhiteList

Непрочитанное сообщение freeman » 2007-11-30 12:27:19

lissyara писал(а):удалять...
откуда берутся - рикошеты и письма более чем одному юзеру.
удалять. могу завтра скрипт выложить.
давай выкладывай =)
Остатся должен только один ...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35465
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim + MySQL + WhiteList

Непрочитанное сообщение Alex Keda » 2007-11-30 13:35:15

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

mail# more delete_from_exim_whitelist.sh
#!/bin/sh

# Дропаем домены в белом списке, которые старше 60 дней. Если переписка всё
# ещё идёт, то в таблице отправленных останутся записи - там дропается
# по дате последней отправки
/usr/local/bin/mysql --host=192.168.100.2 --user=exim_user --password=exim_pass \
                        --database=exim_db --execute="DELETE FROM \
                        \`domain_whitelist\` WHERE \`added_timestamp\` \
                        < (UNIX_TIMESTAMP() - 60*24*3600)"

# Дропаем из списка отправленных записи которые не обновлялись более 60 дней.
/usr/local/bin/mysql --host=192.168.100.2 --user=exim_user --password=exim_pass \
                        --database=exim_db --execute="DELETE FROM \
                        \`sended_list\` WHERE \`last_mail_timestamp\` \
                        < (UNIX_TIMESTAMP() - 60*24*3600)"

# Дропаем рикошеты. Чтоб не мешались.
/usr/local/bin/mysql --host=192.168.100.2 --user=exim_user --password=exim_pass \
                        --database=exim_db --execute="DELETE FROM \`sended_list\`\
                        WHERE \`user_from\` = ''                        \
                        OR \`user_to\`='@'                              \
                        OR \`user_to\` LIKE '@%'                        \
                        OR \`user_to\` LIKE '%@mail-gw.domain.local'     \
                        OR \`user_from\` NOT LIKE '%@domain.ru'"
/usr/local/bin/mysql --host=192.168.100.2 --user=exim_user --password=exim_pass \
                        --database=exim_db --execute="OPTIMIZE TABLE    \
                        \`domain_whitelist\`, \`sended_list\`" >/dev/null
mail#   
Убей их всех! Бог потом рассортирует...

Valentaim
рядовой
Сообщения: 16
Зарегистрирован: 2007-10-25 13:23:29

Re: Exim + MySQL + WhiteList

Непрочитанное сообщение Valentaim » 2007-11-30 18:01:24

EOF in backquote substitution.

Я так понял шде-то кавычек не хватет...??

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35465
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim + MySQL + WhiteList

Непрочитанное сообщение Alex Keda » 2007-11-30 19:31:24

открой в любом редакторе с подсветкой синтаксиса - и увидишь
Убей их всех! Бог потом рассортирует...

Valentaim
рядовой
Сообщения: 16
Зарегистрирован: 2007-10-25 13:23:29

Re: Exim + MySQL + WhiteList

Непрочитанное сообщение Valentaim » 2007-12-03 13:05:56

А что удаляют эти строки???

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

 \`user_to\` LIKE '%@mail-gw.domain.local'     \
                        OR \`user_from\` NOT LIKE '%@domain.ru'

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35465
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim + MySQL + WhiteList

Непрочитанное сообщение Alex Keda » 2007-12-03 13:40:04

этом мои внутренние замуты
Убей их всех! Бог потом рассортирует...