EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Midnight-cat
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2008-01-15 11:38:48
- Откуда: Украина
Непрочитанное сообщение
Midnight-cat » 2008-01-21 13:48:11
У меня не работают все ниже написанные acl, ошибок в логах никаких нет, просто молча не работает и все тут. Задержек нет, письма моментально доходят, на цифры в HELO тоже ни разу не ругался.
Проверяла на рабочей связке Exim+KAV+Spamassasin. Потом специально поставила с нуля тестовый exim 4.69 без довесков, на нем тоже не работает. OS Slackware 10.0
acl следующие:
Код: Выделить всё
deny message = "Не надо пихать свой IP в качестве HELO!"
hosts = *:!+relay_from_hosts
condition = ${if eq{$sender_helo_name}\
{$sender_host_address}{true}{false}}
deny condition = ${if match{$sender_helo_name}\
{\N^\d+$\N}{yes}{no}}
hosts = !127.0.0.1:!localhost:*
message = "В HELO не могут быть тока цифры!"
warn
# ставим дефолтовую задержку в 20 секунд
set acl_m0 = 20s
Последний раз редактировалось
Alex Keda 2008-01-21 13:57:43, всего редактировалось 1 раз.
Причина: Та заипали слепые, кнопки кода не видящие =)
Midnight-cat
-
Хостинг 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/
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2008-01-21 14:57:12
Код: Выделить всё
#!/bin/sh
# Тестирование от mail.ru
#(echo "EHLO mxs.mail.ru"; echo "MAIL FROM:user@mail.ru"; echo "RCPT TO: postmaster@ТВОЙ_ДОМЕН.ru"; echo "DATA"; echo "Subject: test"; echo "."; echo "QUIT";) \
#| exim -d -bhc 194.67.23.20 > testlog 2>&1
И смотри что там в логах по твоей теме.
Должно быть примерно следующее.
Код: Выделить всё
processing "deny"
check !senders = :
address match: subject=user@mail.ru pattern=
mail.ru in ""? no (end of list)
user@mail.ru in ":"? no (end of list)
check condition = ${if eq{$sender_helo_name}{}{yes}{no}}
= no
deny: condition test failed
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
Midnight-cat
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2008-01-15 11:38:48
- Откуда: Украина
Непрочитанное сообщение
Midnight-cat » 2008-01-21 15:35:57
Вот что в выводе:
Код: Выделить всё
require: condition test succeeded
processing "warn"
check set acl_m0 = 40s
warn: condition test succeeded
processing "deny"
deny: condition test succeeded
SMTP>> 550 "Free"
LOG: MAIN REJECT
H=mxs.mail.ru [194.67.23.20] F=<user@mail.ru> rejected RCPT admin@domen.ua: "Free"
SMTP<< DATA
SMTP>> 503-All RCPT commands were rejected with this error:
SMTP>> 503-"Free"
SMTP>> 503 Valid RCPT command must precede DATA
SMTP<< Subject: test
LOG: smtp_syntax_error MAIN
SMTP syntax error in "Subject: test" H=mxs.mail.ru [194.67.23.20] unrecognized command
SMTP>> 500 unrecognized command
SMTP<< .
LOG: smtp_syntax_error MAIN
SMTP syntax error in "." H=mxs.mail.ru [194.67.23.20] unrecognized command
SMTP>> 500 unrecognized command
SMTP<< QUIT
SMTP>> 221 domen.ua closing connection
LOG: smtp_connection MAIN
SMTP connection from mxs.mail.ru [194.67.23.20] closed by QUIT
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=24196 terminating with rc=0 >>>>>>>>>>>>>>>>
250-domen.ua Hello mxs.mail.ru [194.67.23.20]
250-SIZE 17825792
250-PIPELINING
250 HELP
250 OK
550 "Free"
503-All RCPT commands were rejected with this error:
503-"Free"
503 Valid RCPT command must precede DATA
500 unrecognized command
500 unrecognized command
221 domen.ua closing connection
Midnight-cat
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2008-01-21 16:16:56
Это что за фильтр, который выдаёт это сообщение?
И это самое, что за фильтр такой из одной команды
deny?
processing "deny"
deny: condition test succeeded
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
Midnight-cat
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2008-01-15 11:38:48
- Откуда: Украина
Непрочитанное сообщение
Midnight-cat » 2008-01-21 16:46:43
Ошибочка вышла, забыла убрать всякие тестовые фильтры, но суть это не меняет, асл все равно не ходит, хотя логи поменялись:
Код: Выделить всё
using ACL "acl_check_rcpt"
processing "accept"
check hosts = :
host in ":"? no (end of list)
accept: condition test failed
processing "deny"
check domains = +local_domains
domen.ua in "domen.ua"? yes (matched "domen.ua")
domen.ua in "+local_domains"? yes (matched "+local_domains")
check local_parts = ^[.] : ^.*[@%!/|]
admin in "^[.] : ^.*[@%!/|]"? no (end of list)
deny: condition test failed
processing "deny"
check domains = !+local_domains
cached yes match for +local_domains
cached lookup data = NULL
domen.ua in "!+local_domains"? no (matched "!+local_domains" - cached)
deny: condition test failed
processing "accept"
check local_parts = postmaster
admin in "postmaster"? no (end of list)
accept: condition test failed
processing "deny"
check hosts = *:!+relay_from_hosts
host in "*:!+relay_from_hosts"? yes (matched "*")
check condition = ${if eq{$sender_helo_name}{$sender_host_address}{true}{false}}
= false
deny: condition test failed
processing "warn"
check set acl_m0 = 140s
warn: condition test succeeded
processing "require"
check verify = sender
Midnight-cat
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2008-01-21 17:40:12
check condition = ${if eq{$sender_helo_name}{$sender_host_address}{true}{false}}
= false
Ну 2-е переменные не совпадают, что тут не так?
К примеру можно записать эти переменные в читабельном виде используя logwrite (К примеру в panic).
deny message = "Не надо пихать свой IP в качестве HELO!"
hosts = *:!+relay_from_hosts
logwrite = :panic:"HELO=$sender_helo_name, HOST=$sender_host_address"
condition = ${if eq{$sender_helo_name}\
{$sender_host_address}{true}{false}}
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
Midnight-cat
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2008-01-15 11:38:48
- Откуда: Украина
Непрочитанное сообщение
Midnight-cat » 2008-01-21 18:02:09
dikens3 писал(а):check condition = ${if eq{$sender_helo_name}{$sender_host_address}{true}{false}}
= false
Ну 2-е переменные не совпадают, что тут не так?
Так после несовпадения должна быть реакция в виде отбрасывания таких писем, или для этого еще что-то надо дописать?
Вот это значит, что тест провален и дальше пропускает письмо.
И почему задержка по времени не работает, непонятно.
Код: Выделить всё
check set acl_m0 = 140s
warn: condition test succeeded
Т.е. все прекрасно, тест пройден, а задержка по времени где?
Midnight-cat
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2008-01-22 0:34:22
Так после несовпадения должна быть реакция в виде отбрасывания таких писем, или для этого еще что-то надо дописать?
deny: condition test failed
Непонимание работы ACL. (*читать
тут )
accept, deny, warn и т.п. - действие
при выполнении всех перечисленных условий!!!
Код: Выделить всё
deny
Чё-то там
Чё-то там
check condition = ${if eq{$sender_helo_name}{$sender_host_address}{true}{false}}
= false
Как думаешь все условия выполнены или же последнее НЕвыполнено?
check set acl_m0 = 140s
warn: condition test succeeded
Т.е. все прекрасно, тест пройден, а задержка по времени где?
Во время тестирования задержка не работает.
И пишется правильно так:
А в твоём случае переменной m0 присвоено значение 140s - и всё. :-)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
Midnight-cat
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2008-01-15 11:38:48
- Откуда: Украина
Непрочитанное сообщение
Midnight-cat » 2008-01-22 11:38:36
Поняла, где ошибка с задержкой. Я эту строчку вообще забыла дописать.
Про acl уже читаю. Как всегда, проблема собственной невнимательности и криворукости
Спасибо большое за подсказки!
Midnight-cat
-
Alex Keda
- стреляли...
- Сообщения: 35420
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-01-22 11:55:40
Midnight-cat писал(а):Поняла, где ошибка с задержкой. Я эту строчку вообще забыла дописать.
ники нынче абстрактные...
тока по тексту и догадаешься кто какого пола

Убей их всех! Бог потом рассортирует...
Alex Keda