EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Simpa
- проходил мимо
Непрочитанное сообщение
Simpa » 2010-01-26 12:12:04
Добрый день, вот такая вот проблема, в 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
...
Подскажите почему так и как это исправить?
Simpa
-
Хостинг 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 » 2010-01-27 0:03:35
Может как-нибудь по русски написать?
Например так:
Код: Выделить всё
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
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
Simpa
- проходил мимо
Непрочитанное сообщение
Simpa » 2010-01-27 9:28:31
Так тоже не помогло
Код: Выделить всё
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
Simpa
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2010-01-27 16:16:06
Вам молодой человек понятна система отладки в
полезных скриптах? Посмотрите отладку и, если что-то не получится понять(а я спрошу что вы поняли в ней), тогда приведите сюда полученный вами лог.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
Simpa
- проходил мимо
Непрочитанное сообщение
Simpa » 2010-01-27 17:27:20
Спасибо большое что указал на скрипт
выявил проблему.
Simpa