Клиент долго подключаеться к серверу Exim

Windows и Linux, а также все на тему (не)свободы ПО.
andrey_tiop
Заглянувший
Сообщения: 28
Зарегистрирован: 15 дек 2005, 11:34
Откуда: Луганск, Украина

Клиент долго подключаеться к серверу Exim

Сообщение andrey_tiop »

Конфиг exima.

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

primary_hostname = mydomain.com
domainlist local_domains = mydomain.com
#${lookup mysql{SELECT domain FROM domains \
#WHERE domain='${domain}' AND \
#(type='LOCAL' OR type='VIRTUAL')}}
domainlist relay_to_domains = mydomain.com
#${lookup mysql{SELECT domain FROM domains \
#WHERE domain='${domain}' AND type='RELAY'}}
hostlist   relay_from_hosts = 127.0.0.1 
auth_advertise_hosts = *
daemon_smtp_ports = 25
log_selector = \
    +all_parents \
    +lost_incoming_connection \
    +received_sender \
    +received_recipients \
    +smtp_confirmation \
    +smtp_syntax_error \
    +smtp_protocol_error \
    -queue_run
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_mime = acl_check_mime
qualify_domain = itt-e.com
allow_domain_literals = false
never_users = root
host_lookup = *
#rfc1413_hosts = *
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 30m
timeout_frozen_after = 3d
freeze_tell = postmaster
message_size_limit = 100M
smtp_accept_max = 100
smtp_accept_max_per_connection = 50
smtp_accept_max_per_host = 20
split_spool_directory = true
remote_max_parallel = 15
smtp_banner = "Welcome on  mail server!\n\
This system does not accept Unsolicited \
Commercial Email\nand will blacklist \
offenders via our spam processor.\nHave a \
nice day!\n\n${primary_hostname} ESMTP"
hide mysql_servers =127.0.0.1/exim/user/pass
######################################################################
#                       ACL CONFIGURATION                            #
#         Specifies access control lists for incoming SMTP mail      #
######################################################################
begin acl

acl_check_rcpt:

accept  hosts = :

deny    domains       = +local_domains
local_parts   = ^[.] : ^.*[@%!/|]

deny    domains       = !+local_domains
local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

accept  local_parts   = postmaster
domains       = +local_domains

require verify        = sender

deny    message       = HELO/EHLO required by SMTP RFC
condition     = ${if eq{$sender_helo_name}{}{yes}{no}}
deny    message       = rejected because \
$sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
log_message   = found in $dnslist_domain
dnslists      = relays.ordb.org
deny    message       = message from \
$sender_host_address rejected - see http://njabl.org/
log_message   = found in $dnslist_domain
dnslists      = dnsbl.njabl.org
deny    message       = rejected because \
$sender_host_address for bad WHOIS info, see http://www.rfc-ignorant.org/
log_message   = found in $dnslist_domain
dnslists      = ipwhois.rfc-ignorant.org
deny    message       = rejected because $sender_host_address \
is in a black list at $dnslist_domain\n$dnslist_text
log_message   = found in $dnslist_domain
dnslists      = dialups.mail-abuse.org
deny    message       = rejected because $sender_host_address \
is in a black list at $dnslist_domain\n$dnslist_text
log_message   = found in $dnslist_domain
dnslists      = list.dsbl.org
deny    message       = Spam blocked see: \
http://www.spamcop.net/w3m?action=checkblock&ip=$sender_host_address
log_message   = found in $dnslist_domain
dnslists      = bl.spamcop.net
deny    message       = rejected, $sender_host_address \
Open Proxy, see: $dnslist_domain\n$dnslist_text
log_message   = found in $dnslist_domain
dnslists      = dnsbl.void.ru
accept  domains       = +local_domains
endpass
message       = unknown user
verify        = recipient

accept  domains       = +relay_to_domains
endpass
message       = unrouteable address
verify        = recipient

accept  hosts         = +relay_from_hosts
accept  authenticated = *
deny    message       = relay not permitted
warn
    set acl_m0 = 30s
warn
    hosts = +relay_from_hosts:192.168.0.1/24
    set acl_m0 = 0s
acl_check_mime:

warn decode = default

deny    message       = Go Away! You are spammer.
condition     = ${if match{$sender_host_name} \
{bezeqint\\.net|net\\.il|dialup|dsl|pool|peer|dhcp} \
{yes}{no}}

begin routers

dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more

system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT recipients FROM aliases \
WHERE local_part='${local_part}' AND domain='${domain}'}}

userforward:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT recipients FROM userforward \
WHERE local_part='${local_part}' AND domain='${domain}'}}

virtual_localuser:
driver = accept
domains = ${lookup mysql{SELECT domain from domains WHERE domain='${domain}'}}
local_parts = ${lookup mysql{SELECT login from users \
WHERE login='${local_part}' AND domain='${domain}'}}
transport = local_delivery

begin transports

remote_smtp:
driver = smtp

local_delivery:
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = /var/mail/$domain/$local_part
directory_mode = 770
envelope_to_add
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0660
quota = ${lookup mysql{SELECT quota FROM users \
WHERE login='${local_part}' AND domain='${domain}'}{${value}M}}
quota_size_regex = S=(\d+)$
quota_warn_threshold = 75%
return_path_add

address_pipe:
driver = pipe
return_output

address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add

address_reply:
driver = autoreply

begin retry

*                      quota
*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,6h

begin rewrite

auth_plain:
  driver = plaintext
  public_name = PLAIN
  server_condition = ${lookup mysql{SELECT `username` FROM \
 `mailbox` WHERE `username` = \
 '${quote_mysql:$auth2}' AND `password` = \
 '${quote_mysql:$auth3}'}{yes}{no}}
  server_prompts = :
  server_set_id = $auth2

auth_login:
  driver = plaintext
 public_name = LOGIN
 server_condition = ${lookup mysql{SELECT `username` FROM \
 `mailbox` WHERE `username` = \
 '${quote_mysql:$auth1}' AND `password` = \
 '${quote_mysql:$auth2}'}{yes}{no}}
 server_prompts = Username:: : Password::
 server_set_id = $auth1

auth_cram_md5:
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${lookup mysql{SELECT `password` FROM \
  `mailbox` WHERE `username` \
  = '${quote_mysql:$auth1}'}{$value}fail}
  server_set_id = $auth2
# End of Exim configuration file
Exim version : 4.50


Вот собственно выше приведён конфиг exima
Проблема состоит в следующем: При подключении любым почтовым клиентом к серверу вначале висит (примерно секунд 40) надпись "Подключение к серверу" потом висит (примерно 50 секунд) надпись "Отправка заголовка" . Когда проходят эти два пункта то само тело письма отправляеться быстро. В момент отправки сервер не загружен.
Пробовал подключаться телнетом на 25 порт и отправить письмо через консоль, всё проходит быстро. Может кто то сталкивался с такой проблемой. Из-за чего может быть такое долгое подключение к маил серверу?
[/code]

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

посмотрите сниффером, на каком этапе оно висит долго. и что приходит от MTA...
Возможно причина задержки в проблеме с DNSBL.
Опыт растет прямо пропорционально выведенному из строя оборудованию

ZvK
Фанатеющий
Сообщения: 140
Зарегистрирован: 30 май 2006, 18:07
Контактная информация:

Сообщение ZvK »

подключает_ся (что делает)

andrey_tiop
Заглянувший
Сообщения: 28
Зарегистрирован: 15 дек 2005, 11:34
Откуда: Луганск, Украина

Сообщение andrey_tiop »

При отключении проверки на спам стало уходить быстрее.... Пасибо большое
:)

Ответить