с exim'a Не доходят письма клиентам

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Саша
мл. сержант
Сообщения: 126
Зарегистрирован: 2008-06-08 20:10:46
Контактная информация:

с exim'a Не доходят письма клиентам

Непрочитанное сообщение Саша » 2009-07-23 12:54:26

Здравствуйте у меня стоит exim работает замечательно только есть одна проблема недавно у сотрудника клиент пожаловался что не получает от нас письма... клиент был с адресом gulnara.galvieva@primer.moskva.ru я новичек в этом деле будте добры помогите решить проблему.

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

Аватара пользователя
estade
мл. сержант
Сообщения: 92
Зарегистрирован: 2008-06-18 11:16:41
Откуда: Челябинск
Контактная информация:

Re: с exim'a Не доходят письма клиентам

Непрочитанное сообщение estade » 2009-07-23 13:02:57

Ну чтобы решить проблему надо логи почтовика по этому адресу, тогда можно и будет уже что то советовать, а то может они вообще не отправляли.

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: с exim'a Не доходят письма клиентам

Непрочитанное сообщение Laa » 2009-07-23 14:00:34

+1
давай логи, или сам посмотри, поищи по отправителю или получателю. Может поиск наведет на мысли...
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Саша
мл. сержант
Сообщения: 126
Зарегистрирован: 2008-06-08 20:10:46
Контактная информация:

Re: с exim'a Не доходят письма клиентам

Непрочитанное сообщение Саша » 2009-07-24 16:09:59

После передачи приходит сотруднику письмо об ошибки

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

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  elmira.kurbangalieva@tatarstan.mts.ru
    SMTP error from remote mail server after RCPT TO:<elmira.kurbangalieva@tatarstan.mts.ru>:
    host mx.mts-nnov.ru [195.98.38.70]: 451 4.3.0 Greylisting active, please try again later:
    retry timeout exceeded

------ This is a copy of the message, including all the headers. ------
------ The body of the message is 11921104 characters long; only the first
------ 106496 or so are included here.


ВОТ ЛОГИ:

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

2009-07-20 13:15:21 1MSoxE-0006bP-44 == elmira.kurbangalieva@tatarstan.mts.ru R=dnslookup T=remote_smtp defer (-44): SMTP error from remote mail server after RCPT TO:<elmira.kurbangalieva@tatarstan.mts.ru>: host mx.mts-nnov.ru [195.98.38.70]  ]: 451 4.3.0 Greylisting active, please try again later 
Последний раз редактировалось Laa 2009-07-27 17:28:05, всего редактировалось 2 раза.
Причина: Убедительная просьба юзать теги [code] при оформлении листингов.

Аватара пользователя
estade
мл. сержант
Сообщения: 92
Зарегистрирован: 2008-06-18 11:16:41
Откуда: Челябинск
Контактная информация:

Re: с exim'a Не доходят письма клиентам

Непрочитанное сообщение estade » 2009-07-24 18:20:38

Саша писал(а):После передачи приходит сотруднику письмо об ошибки

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

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  elmira.kurbangalieva@tatarstan.mts.ru
    SMTP error from remote mail server after RCPT TO:<elmira.kurbangalieva@tatarstan.mts.ru>:
    host mx.mts-nnov.ru [195.98.38.70]: 451 4.3.0 Greylisting active, please try again later:
    retry timeout exceeded

------ This is a copy of the message, including all the headers. ------
------ The body of the message is 11921104 characters long; only the first
------ 106496 or so are included here.


ВОТ ЛОГИ:

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

2009-07-20 13:15:21 1MSoxE-0006bP-44 == elmira.kurbangalieva@tatarstan.mts.ru R=dnslookup T=remote_smtp defer (-44): SMTP error from remote mail server after RCPT TO:<elmira.kurbangalieva@tatarstan.mts.ru>: host mx.mts-nnov.ru [195.98.38.70]  ]: 451 4.3.0 Greylisting active, please try again later 
Хм..т.е ситуация такая Ваш сотрудник отправляет в адрес elmira.kurbangalieva@tatarstan.mts.ru, адресату письмо не доставляется, а Вашему сотруднику приходит сией отлуп?
Если так то, вообще-то почтовик должен протолкнуть доставку еще раз, ибо у получателя включен грейлистинг, тут надо смотреть конфиг экзима..

Аватара пользователя
Саша
мл. сержант
Сообщения: 126
Зарегистрирован: 2008-06-08 20:10:46
Контактная информация:

Re: с exim'a Не доходят письма клиентам

Непрочитанное сообщение Саша » 2009-07-26 9:13:13

Конфиг exim'a:


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

primary_hostname = mx1.nionart.ru
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 = 127.0.0.1 : 192.168.0.0/24
auth_advertise_hosts = *
daemon_smtp_ports = 25 
#tls_on_connect_ports = 465
#tls_advertise_hosts = *
#tls_certificate = /etc/pki/exim/mail.pem
#tls_privatekey = /etc/pki/exim/mail.pem
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
acl_smtp_data = acl_check_content
av_scanner = clamd:/var/run/clamav/clamd.socket
spamd_address = 127.0.0.1 783
qualify_domain = mx1.neonart.ru
allow_domain_literals = false
exim_user = exim
exim_group = mail
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 = 80M
smtp_accept_max = 100
smtp_accept_max_per_connection = 5
smtp_accept_max_per_host = 2
split_spool_directory = true
remote_max_parallel = 15
#smtp_banner = "ESMTP"
    
hide mysql_servers = localhost/exim/exim/eximadm.
######################################################################
#                       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

# Белые списки
# Принимаем от пользователей (E-Mail'ов), которым мы посылали сообщения (10 дней максимум) 0 - Нет записи, 1 - Принимаем, 2 - Срок истёк.
  warn      set acl_m19  = ${lookup mysql{MYSQL_TESTCLIENTMYLIST}{$value}{0}}


  accept    log_message = Accepted due to autowhitelist
  	    domains       = +local_domains
            condition     = ${if eq{$acl_m19}{1}{yes}{no}}
            endpass
            message       = "Unknown user"
            verify        = recipient


 
 deny    message       = HELO/EHLO required by SMTP RFC
 condition     = ${if eq{$sender_helo_name}{}{yes}{no}}
 
 deny    message       = Go Away! You are spammer.
 condition     = ${if match{$sender_host_name} \
 {bezeqint\\.net|net\\.il|dialup|dsl|pool|peer|dhcp} \
 {yes}{no}}

# Рубаем тех, кто в HELO пихает мой IP (2500 мудаков за месяц!)
  deny  condition     = ${if eq{$sender_helo_name}\
        		{$interface_address}{yes}{no}}
        hosts         = !127.0.0.1 : !localhost : *
	!senders	= :
        message       = "my IP in your HELO! Access denied!"

  # Рубаем тех, кто в HELO пихает только цифры
  # (не бывает хостов ТОЛЬКО из цифр)
  deny    condition     = ${if match{$sender_helo_name}\
  	    		  {\N(^\d+$)|\d{5,}\N}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost : *
          !senders	= :
          message       = "can not be only digits in HELO/too many digits in HELO!"

## Рубаем тех, кто не пишет отправителя (пробел)
   deny    condition     = ${if match{$sender_helo_name}{\N^\s+$\N}{yes}{no}}
           hosts         = !127.0.0.1 : !localhost : *
           message       = "Empty HELO (only spaces)? Go read RFC!"

  # Рубаем хосты с IP адресом в имени
   deny	   message	= "your hostname contains IP address.. 99.9% you are spamer"
           !hosts          = +relay_from_hosts
   	   condition	= ${if match{$sender_host_name} \
	   		  {\N\d{1,3}(\.|-)\d{1,3}(\.|-)\d{1,3}\N} {yes}{no}}

   deny    message       = "your hostname is bad (adsl, poll, ppp & etc)."
           !hosts          = +relay_from_hosts
           condition     = ${if match{$sender_helo_name} \
                            {broadband|ppp|adsl|xdsl|dialup|dialin|pool|peer|dhcp|dial-up|staticip}{yes}{no}}

   deny    message      = "Home adsl users should send email via ISP SMTP"
           !hosts          = +relay_from_hosts       
	   condition    = ${if match{$sender_helo_name} \
                          {\N(dsl-?\d{2,})|(\d{2,}-\d{2,})|\d{5,}\N}{yes}{no}}

# Рубаем хосты с IP адресом в имени
   deny    message      = "your hostname contains IP address.. 99.9% you are spamer"
   	!hosts		= +relay_from_hosts
           condition    = ${if match{$sender_helo_name} \
                          {\N\d{1,3}(\.|-)\d{1,3}(\.|-)\d{1,3}\N} {yes}{no}}

# Проверяем есть ли reverse DNS для указанного имени хоста 
  warn  log_message		= "No reverse DNS check succeed"
        set acl_m3      = 1
  	!hosts		= +relay_from_hosts	
  	!verify		= reverse_host_lookup

# Рубаем хело с нашим именем
    deny    condition       = ${if match_domain{$sender_helo_name} \
                                    {$primary_hostname:+local_domains:+relay_to_domains} \
                                    {true}{false}}
            message         = "My HOSTNAME in your HELO!"
            !senders        = :


# Рубаем тех, кто в публичных блэк-листах.
    deny    message         = "Your address blacklisted - $dnslist_domain \n $dnslist_text"
            !senders        = :
            hosts           = !+relay_from_hosts
            dnslists        = opm.blitzed.org : \
                              proxies.blackholes.easynet.nl : \
                              cbl.abuseat.org : \
                              bl.spamcop.net : \
                              bl.csma.biz : \
                              dynablock.njabl.org : \
    # Cчитаем длину имени хоста (из HELO). если  меньше 5 - рубим
    # - таких хостов не может существовать
            deny    condition       = ${if <{${strlen:$sender_helo_name}}{5}{yes}{no}}
                    !senders        = :
                    hosts           = !+relay_from_hosts : *
                    message         = "Too short HOSTNAME"

    # Считем число точек в доменном имени. (больше 4-х - в топку)
            deny    condition       = ${if match{$sender_host_name} \
                                            {\N((?>\w+[\.]){4,})\N}{yes}{no}}
                    hosts           = !+relay_from_hosts : *
                    !senders        = :
                    message         = "Too many dots in HOSTNAME"

    # Считаем число точек в HELO
            deny    condition       = ${if match{$sender_helo_name} \
                                            {\N((?>\w+[\.]){4,})\N}{yes}{no}}
                    hosts           = !+relay_from_hosts : *
                    !senders        = :
                    message         = "Too many dots in HELO"

    # Считем число дефисов в доменном имени. (больше 4-х - в топку)
            deny    condition       = ${if match{$sender_host_name} \
                                            {\N((?>\w+[\-]){4,})\N}{yes}{no}}
                    hosts           = !+relay_from_hosts : *
                    !senders        = :
                    message         = "Много дефисов in HOSTNAME"
    # Считаем число дефисов в HELO
            deny    condition       = ${if match{$sender_helo_name} \
                                            {\N((?>\w+[\-]){4,})\N}{yes}{no}}
                    hosts           = !+relay_from_hosts : *
                    message         = "Много дефисов в HELO"

    # Считаем число точек в HELO, если меньше одной - deny
            deny    condition       = ${if !match{$sender_helo_name}{\N\w\.\w\N}{yes}{no}}
                    !senders        = :
                    hosts           = !+relay_from_hosts : *
                    message         = "HELO cannot be without dots"

    # Считаем число точек (не меньше одной) в доменном имени
            deny    condition       = ${if !match{$sender_host_name}{\N\w\.\w\N}{yes}{no}}
                    !senders        = :
                    hosts           = !+relay_from_hosts : *
                    message         = "HOSTNAME cannot be without dots"


  #Проверяем переданный EHLO
  warn   log_message	= "Check of your EHLO/HELO is failed"
  	 set acl_m3	= 1
  	 !senders	= :
  	 !hosts		= +relay_from_hosts
 	 !verify	= helo
  
  # Deny unless the sender address can be verified.

  warn  message		= "sender verify failed"  		
 	!hosts		= +relay_from_hosts
  	!verify         = sender/callout=10s
	set acl_m3	= 1
	delay		= 30s


 
 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



acl_check_mime:

 warn decode = default
    
 deny message = Blacklisted file extension detected ($mime_filename)
 condition = ${if match \
               {${lc:$mime_filename}} \
               {\N(\.exe|\.pif|\.bat|\.scr|\.lnk|\.com|\.vbs|\.cpl)$\N} \
               {1}{0}}
	      
 deny message = Sorry, noone speaks chinese here
      condition = ${if eq{$mime_charset}{gb2312}{1}{0}}
																																																																									  
accept
 
acl_check_content:
 
    deny  message = Virus found ($malware_name)
        malware = *
	 
    warn  message = X-Spam-Score: $spam_score ($spam_bar)
	hosts   = !+relay_from_hosts
	spam    = nobody:true
		
    warn  message = X-Spam-Report: $spam_report
        hosts   = !+relay_from_hosts
	spam    = nobody:true
				  
    warn  message = Subject: * $h_Subject:
	hosts   = !+relay_from_hosts
	spam    = nobody

    deny  message = This message scored $spam_score spam points.
	spam    = nobody:true
	hosts   = !+relay_from_hosts
	condition = ${if >{$spam_score_int}{120}{1}{0}}
	   
accept
	   


######################################################################
#                      ROUTERS CONFIGURATION                         #
#               Specifies how addresses are handled                  #
######################################################################
#     THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT!       #
# An address is passed to each router in turn until it is accepted.  #
######################################################################
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 goto FROM alias WHERE \
            address='${quote_mysql:$local_part@$domain}' OR \
            address='${quote_mysql:@$domain}'}}
                                            
	 
virtual_localuser:
  driver = accept
  condition = ${lookup mysql{SELECT username FROM \
              mailbox WHERE \
              username='${quote_mysql:$local_part@$domain}'}{yes}{no}}
  transport = local_delivery

  
######################################################################
#                      TRANSPORTS CONFIGURATION                      #
######################################################################
#                       ORDER DOES NOT MATTER                        #
#     Only one appropriate transport is called for each 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
  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


######################################################################
#                      RETRY CONFIGURATION                           #
######################################################################
begin retry
*                      quota
*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,6h


######################################################################
#                      REWRITE CONFIGURATION                         #
######################################################################
begin rewrite


######################################################################
#                   AUTHENTICATION CONFIGURATION                     #
######################################################################
begin authenticators

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

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

auth_cram_md5:
    driver = cram_md5
    public_name = CRAM-MD5
    server_secret = ${lookup mysql{SELECT password FROM \
                    mailbox WHERE username \
                    = '${quote_mysql:$1}'}{$value}fail}
    server_set_id = $1
                                                        

# End of Exim configuration file

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: с exim'a Не доходят письма клиентам

Непрочитанное сообщение Laa » 2009-07-27 17:31:54

estade писал(а):
Саша писал(а):После передачи приходит сотруднику письмо об ошибки

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

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  elmira.kurbangalieva@tatarstan.mts.ru
    SMTP error from remote mail server after RCPT TO:<elmira.kurbangalieva@tatarstan.mts.ru>:
    host mx.mts-nnov.ru [195.98.38.70]: 451 4.3.0 Greylisting active, please try again later:
    retry timeout exceeded

------ This is a copy of the message, including all the headers. ------
------ The body of the message is 11921104 characters long; only the first
------ 106496 or so are included here.


ВОТ ЛОГИ:

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

2009-07-20 13:15:21 1MSoxE-0006bP-44 == elmira.kurbangalieva@tatarstan.mts.ru R=dnslookup T=remote_smtp defer (-44): SMTP error from remote mail server after RCPT TO:<elmira.kurbangalieva@tatarstan.mts.ru>: host mx.mts-nnov.ru [195.98.38.70]  ]: 451 4.3.0 Greylisting active, please try again later 
Хм..т.е ситуация такая Ваш сотрудник отправляет в адрес elmira.kurbangalieva@tatarstan.mts.ru, адресату письмо не доставляется, а Вашему сотруднику приходит сией отлуп?
Если так то, вообще-то почтовик должен протолкнуть доставку еще раз, ибо у получателя включен грейлистинг, тут надо смотреть конфиг экзима..
Да нормальная ситуация. Просто ваш почтовый сервер еще будет делать попытки доставить. Почитайте на википедиях про грейлистинги, как они работают и зачем. :drinks:
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Саша
мл. сержант
Сообщения: 126
Зарегистрирован: 2008-06-08 20:10:46
Контактная информация:

Re: с exim'a Не доходят письма клиентам

Непрочитанное сообщение Саша » 2009-07-31 8:44:19

Ситуация то нормальная но делоо в том что письма на тот адрес вообще практически не уходят :no:

grey_listing
проходил мимо

Re: с exim'a Не доходят письма клиентам

Непрочитанное сообщение grey_listing » 2011-05-20 8:31:10

Если их сервер перегружен, и отвечает с опозданием, то и система "серых списков" будет работать скорее на 95% исключение доставки!
mts - трясите - скорее всего с их стороны проблема!

Аватара пользователя
ADRE
майор
Сообщения: 2641
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: с exim'a Не доходят письма клиентам

Непрочитанное сообщение ADRE » 2011-05-20 20:08:53

а логи почтаря где?
--

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

451 4.3.0 Greylisting active, please try again later 
ты в грей листе черезе несколько повторений через час,два - дойдёт
--
А что вы собственно ожидали от татарстана мтс?
//del