Страница 1 из 1

Задержка в Exim

Добавлено: 2010-01-26 12:12:04
Simpa
Добрый день, вот такая вот проблема, в exim есть правила на установку задержки для входящих писем 30 сек, для определённых хостов(своих) она 0 секунд, организовано так:

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

  
warn
        set acl_m0 = 30s

warn
        hosts = +relay_from_hosts : 127.0.0.1/8 : xx.xx.xx.xx/24
        set acl_m0 = 0s

warn
        logwrite = Delay $acl_m0 for $sender_host_name [$sender_host_address] with HELO=$sender_helo_name. Mail from $sender_address to $local_part@$domain.
        delay = $acl_m0
Собственно если письмо не входит в указанный в hosts диапозон то по логам ему присваивается задержка 30сек и по факту она идет 30 сек
Если же письмо идет от указанного в диапазоне hosts адресса то по логу он пишет задержку 0сек а по факту идёт опять 30 сек например:

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

2010-01-26 11:56:19 Delay 0s for host.ru [xx.xx.xx.x] with HELO=[127.0.0.1]. Mail from mail@domain.ru to petia@mail.ru.
2010-01-26 11:56:42 1NZhE2-000PVo-8Y <= mail@domain.ru H=host.ru ([127.0.0.1]) [xx.xx.xx.xx] I=[xx.xx.xx.xx]:25 P=esmtp S=693 id=4B5EAE32.2010705@domain.ru from <mail@domain.ru> for petia@mail.ru
...
Подскажите почему так и как это исправить?

Re: Задержка в Exim

Добавлено: 2010-01-27 0:03:35
dikens3
Может как-нибудь по русски написать?

Например так:

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

warn
        !hosts = +relay_from_hosts : 127.0.0.1/8 : xx.xx.xx.xx/24
        logwrite = Delay 30s for $sender_host_name [$sender_host_address] with HELO=$sender_helo_name. Mail from $sender_address to $local_part@$domain.
        delay = 30s

Re: Задержка в Exim

Добавлено: 2010-01-27 9:28:31
Simpa
Так тоже не помогло

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

2010-01-27 09:14:30 1Na1Ac-0007Q3-ON <= mail@domain.ru H=([127.0.0.1]) [xx.xx.xx.xx] I=[xx.xx.xx.xx]:25 P=esmtp S=680 id=4B5FD98A.4020507@domain.ru from <mail@domain.ru> for petia@mail.ru
2010-01-27 09:14:30 1Na1Ac-0007Q3-ON => petia@mail.ru R=dnslookup T=remote_smtp H=mxs.mail.ru [94.100.176.20] C="250 OK id=1Na1Ac-000HPb-00"
2010-01-27 09:14:30 1Na1Ac-0007Q3-ON Completed
Хотя я нажал отправить письмо в 09:14:00

Я вот начал думать может в других правилах проблема? вот мой конфиг

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

primary_hostname = mail.domain.ru
hide mysql_servers = хх.xx.32.44/exim/exim/password
domainlist local_domains = ${lookup mysql{SELECT `domain` FROM `domain` WHERE `domain`='${domain}' AND `active`='1'}}
domainlist relay_to_domains =${lookup mysql{SELECT `domain` FROM `domain` WHERE `domain`='${domain}' AND `active`='1'}}
hostlist   relay_from_hosts = localhost:127.0.0.0/8:xx.xx.47.0/24
acl_smtp_connect = acl_check_connect
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
av_scanner = clamd:/var/run/clamav/clamd.sock
spamd_address = xx.xx.32.44 41234
# tls_advertise_hosts = *
tls_certificate = /usr/local/etc/exim/ssl/exim.crt
tls_privatekey = /usr/local/etc/exim/ssl/exim.key
daemon_smtp_ports = 25 : 994
tls_on_connect_ports = 994
qualify_domain = domain.ru
qualify_recipient = domain.ru
# allow_domain_literals
exim_user = mailnull
exim_group = mail
never_users = root
#host_lookup = *
#rfc1413_hosts = *
rfc1413_query_timeout = 0s
sender_unqualified_hosts = +relay_from_hosts
recipient_unqualified_hosts = +relay_from_hosts
# percent_hack_domains =
ignore_bounce_errors_after = 45m
timeout_frozen_after = 15d
split_spool_directory = true
helo_accept_junk_hosts = xx.xx.47.0/24
auto_thaw = 1h
smtp_banner = "$primary_hostname"
smtp_accept_max = 75
smtp_accept_max_per_connection = 35
smtp_connect_backlog = 30
smtp_accept_max_per_host = 75
remote_max_parallel = 15
message_size_limit = 30M
helo_allow_chars = _
smtp_enforce_sync = true
syslog_timestamp = no
log_selector = +all_parents +connection_reject +incoming_interface +lost_incoming_connection +received_sender +received_recipients +smtp_confirmation +smtp_syntax_error +smtp_protocol_error -queue_run

acl_check_connect:

  accept  hosts         = xx.xx.32.44
          control       = no_enforce_sync

  accept

acl_check_rcpt:

  accept  hosts = :

  deny    message       = Restricted characters in address
          domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]

  deny    message       = Restricted characters in address
          domains       = !+local_domains
          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

  deny    message       = "HELO/EHLO require by SMTP RFC"
          condition     = ${if eq{$sender_helo_name}{}{yes}{no}}

  deny    message = $sender_host_address is not allowed to send mail from $sender_address_domain
          spf = softfail:fail

  accept  authenticated = *

  deny    message       = "Your IP in HELO - access denied!"
          hosts         =  * : !+relay_from_hosts
          condition     = ${if eq{$sender_helo_name}{$sender_host_address}{true}{false}}

  deny    condition     = ${if eq{$sender_helo_name}{$interface_address}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost : *
          message       = "my IP in your HELO! Access denied!

  deny    condition     = ${if match{$sender_helo_name}{\N^\d+$\N}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost : *
          message       = "can not be only number in HELO!"

  deny    condition     = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost : *
          message       = "Sender address contains spaces?! not for RFC..."

  deny    condition     = ${if eq{$sender_address}{}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost : *
          message       = "Sender address is empty?! not for RFC..."

  deny   condition = ${lookup mysql{SELECT `goto` FROM `alias` WHERE `address`='${quote_mysql:$local_part@domain.ru}'}{no}{yes}}
         hosts         = !127.0.0.1 : !localhost : !xx.xx.47.0/24 : *
         message       = "No such user!"
  warn
          set acl_m0 = 30s
  warn
         hosts = +relay_from_hosts : 127.0.0.1/8 : .xx.32.0/24
         set acl_m0 = 0s
  warn
         logwrite = Delay $acl_m0 for $sender_host_name [$sender_host_address] with HELO=$sender_helo_name. Mail from $sender_address to $local_part@$domain.
         delay = $acl_m0

  accept  domains       = +local_domains
          endpass
          message       = "In my mailserver not stored this user"
          verify        = recipient

  accept  domains       = +relay_to_domains
          endpass
          message       = "main server not know how relay to this address"
          verify        = recipient

  deny    message       = "you in blacklist - $dnslist_domain \n $dnslist_text"
          dnslists      = bl.spamcop.net : cbl.abuseat.org : bl.csma.biz : dynablock.njabl.org

  accept  hosts         = +relay_from_hosts


  deny    message       = "No, there is no open relays here :)"



acl_check_data:

deny malware = *
message = "In e-mail found VIRUS - $malware_name"

  accept


Re: Задержка в Exim

Добавлено: 2010-01-27 16:16:06
dikens3
Вам молодой человек понятна система отладки в полезных скриптах? Посмотрите отладку и, если что-то не получится понять(а я спрошу что вы поняли в ней), тогда приведите сюда полученный вами лог.

Re: Задержка в Exim

Добавлено: 2010-01-27 17:27:20
Simpa
Спасибо большое что указал на скрипт :) выявил проблему.