Exim не принимает почту с одного домена.

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Exim не принимает почту с одного домена.

Непрочитанное сообщение DJ Kill » 2009-05-18 9:00:37

Сразу скажу что я новичёк в exim. Обчитался уже гугля и этого форума, но решения своей проблемы не нашёл. :(

FreeBSD 7.1-RELEASE

Есть два домена:
gtss.ru и new.gtss.ru
Все MX записи прописаны корректно.
Почта с new.gtss.ru на gtss.ru ходит абсолютно нормально.
При попытке послать почту с gtss.ru на new.gtss.ru пишет в логи:
sender verify fail for <kirill@gtss.ru>: all relevant MX records point to non-existent hosts

dig mx gtss.ru | grep -v ";"

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

gtss.ru.                3584    IN      MX      10 mailer.gtss.ru.

gtss.ru.                2604    IN      NS      ns3.gtss.ru.
gtss.ru.                2604    IN      NS      ns.gtss.ru.

mailer.gtss.ru.         2852    IN      A       81.222.112.14
ns.gtss.ru.             3353    IN      A       81.222.113.130
ns3.gtss.ru.            20      IN      A       81.222.112.24
dig mx new.gtss.ru | grep -v ";"

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

new.gtss.ru.            3600    IN      MX      10 newmail.new.gtss.ru.

new.gtss.ru.            3600    IN      NS      ns3.gtss.ru.
new.gtss.ru.            3600    IN      NS      ns.gtss.ru.

newmail.new.gtss.ru.    3600    IN      A       81.222.112.8
ns3.gtss.ru.            1       IN      A       81.222.112.24
ns.gtss.ru.             3334    IN      A       81.222.113.130
В списке игнорируемых сетей хоста нет:

exim -bP router dnslookup

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

address_data =
address_test
cannot_route_message =
no_caseful_local_part
no_check_local_user
condition =
debug_print =
no_disable_logging
domains = ! +local_domains
driver = dnslookup
errors_to =
expn
no_fail_verify_recipient
no_fail_verify_sender
fallback_hosts =
group =
headers_add =
headers_remove =
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_initgroups
local_part_prefix =
no_local_part_prefix_optional
local_part_suffix =
no_local_part_suffix_optional
local_parts =
no_log_as_local
no_more
no_pass_on_timeout
pass_router =
redirect_router =
require_files =
no_retry_use_local_part
router_home_directory =
self = freeze
senders =
transport = remote_smtp
transport_current_directory =
transport_home_directory =
no_unseen
user =
no_verify_only
verify_recipient
verify_sender
no_check_secondary_mx
check_srv =
mx_domains =
mx_fail_domains =
qualify_single
rewrite_headers
no_same_domain_copy_routing
no_search_parents
srv_fail_domains =
widen_domains =
Адрес резолвиться корректно:
nslookup mailer.gtss.ru

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

Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   mailer.gtss.ru
Address: 81.222.112.14
Ткните носом где я не прав? Или какие комманды ещё поскармливать exim чтобы понять где проблема.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2520 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/


princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение princeps » 2009-05-18 9:43:06

Обратная запись зоны указывает на хост ns2.gtss.ru, а не на gtss.ru. exim и сообщает тебе, что mx-запись указывает на несуществующий хост. Вроде бы так, если навскидку
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение princeps » 2009-05-18 9:45:30

нет, я все направильно написал, невнимательно прочитал сначала :) На другие сервера нормально ходит почта с этого домена?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение DJ Kill » 2009-05-18 9:52:15

hizel{smoke} писал(а):ignore_target_hosts используете?
Да, но в выводе router видно что эти сети не в игноре.

На другие сервера со всех доменов почта ходит совершенно корректно. Почта не ходит только с gtss.ru на new.gtss.ru. Даже с new.gtss.ru на gtss.ru ходит без проблем.

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение princeps » 2009-05-18 9:56:02

значит на new.gss.ru на почтовике что-то неправильно настроено. Я думаю, надо конфигурацию экзима выложить.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение DJ Kill » 2009-05-18 10:49:21

Кофиг экзима взять из статьи с этого сайта про exim+pgsql:

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

cat conf
CONFIG_PREFIX=/usr/local/etc/exim

hide pgsql_servers = localhost/exim/exim/exim

domainlist local_domains =${lookup pgsql{SELECT domain FROM local_domain}}

hostlist host_reject = ${lookup pgsql{SELECT domain FROM hostreject}}

domainlist relay_to_domains = ${lookup pgsql{SELECT hosts FROM relaytohosts}}

hostlist relay_from_hosts =${lookup pgsql{SELECT hosts FROM relayfromhosts}}

acl_smtp_rcpt = acl_check_rcpt

acl_smtp_mime = acl_check_mime

acl_smtp_data = acl_check_virus

av_scanner = clamd:127.0.0.1 3310

spamd_address = 127.0.0.1 783

exim_user = mailnull
exim_group = mail

never_users = root

spool_directory = /var/spool/exim

split_spool_directory

host_lookup = *

rfc1413_query_timeout = 0s

smtp_banner = "$primary_hostname, ESMTP EXIM $version_number"

smtp_accept_max = 50

smtp_accept_max_per_connection = 30

smtp_connect_backlog = 50

smtp_accept_max_per_host = 15

smtp_accept_queue = 20

smtp_accept_queue_per_connection = 10

recipients_max = 16

recipients_max_reject = true

remote_max_parallel = 10

message_size_limit = 20M

return_size_limit = 70k

accept_8bitmime = true

smtp_enforce_sync = true

ignore_bounce_errors_after = 1h

timeout_frozen_after = 3d

freeze_tell = kirill@new.gtss.ru

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

syslog_timestamp = no

allow_mx_to_ip 1

tls_certificate = CONFIG_PREFIX/mailed.crt
tls_privatekey = CONFIG_PREFIX/mailed.key
tls_advertise_hosts = *
tls_verify_certificates = *



begin acl

acl_check_rcpt:

  accept  hosts = :

  deny    message       = "Недопустимые символы в адресе"
          domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]

  deny    message       = "Недопустимые символы в адресе"
          domains       = !+local_domains
          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./



  require verify        = sender

  deny    message       = "HELO/EHLO обязано быть по SMTP RFC"
          condition     = ${if eq{$sender_helo_name}{}{yes}{no}}

  accept  authenticated = *

  deny    message       = "Не надо пихать свой IP в качестве HELO!"
          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       = "Это мой IP-адрес! Пшёл прочь!"

  deny    condition     = ${if match{$sender_helo_name}\
                          {\N^\d+$\N}{yes}{no}}
          hosts         = !127.0.0.1:!localhost:*
          message       = "В HELO не могут быть тока цифры!"

  deny    message       = "Не нравится мне Ваш хост..."
          condition     = ${if match{$sender_host_name} \
                               {adsl|dialup|pool|peer|dhcp} \
                               {yes}{no}}
  deny    message       = "host in blacklist - $dnslist_domain \n $dnslist_text"
          dnslists      = opm.blitzed.org : \
                          proxies.blackholes.easynet.nl : \
                          cbl.abuseat.org : \
                          bl.spamcop.net : \
                          bl.csma.biz : \
                          dynablock.njabl.org : \

  warn
        set acl_m0 = 10s
  warn
        hosts = +relay_from_hosts
        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       = "В этом домене нет такого пользователя"
          verify        = recipient

  accept  domains       = +relay_to_domains
          endpass
          message       = "Моя сервера не знать маршрут на этот хост..."
          verify        = recipient
  accept  hosts         = +relay_from_hosts
        deny hosts         =!+relay_from_hosts

  deny   hosts          = +host_reject
         message        = You are banned. Go away.

  deny    message       = Мы не принимает ".$found_extension" незапакованные вложения \
                          Для отправки запакуйте их.
          demime        = bat:btm:cmd:com:cpl:dll:exe:lnk:msi:pif:prf:reg:scr:vbs:url


  deny    message       = "Свободен. Это тебе не ОпенРелей."

acl_check_mime:

  warn decode = default

  deny message = Blacklisted file extension detected
       condition = ${if match \
                        {${lc:$mime_filename}} \
                        {\N(\.wav|\.cpl|\.pif|\.bat|\.scr|\.lnk|\.com)$\N} \
                     {1}{0}}

  deny message = Sorry, noone speaks chinese here
       condition = ${if eq{$mime_charset}{gb2312}{1}{0}}

  accept

acl_check_virus:
        warn  message = X-Spam-Score: $spam_score ($spam_bar)
                spam = nobody:true

        warn message = X-Spam-Scanned: Yes
        warn message = X-Spam-Scanner: SpamAssassin running

        deny  message   = Message rejected: virus found. Your message was successfully trashed.
                    hosts       = *
                    malware     = *
        accept


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 pgsql{select alias from aliases where mail ='$local_part@$domain'}{$value}fail}
  user = mailnull
  group = mail
  file_transport = address_file
  pipe_transport = address_pipe

userforward:
  driver = redirect
  check_local_user
  file = $home/.forward
  no_verify
  no_expn
  check_ancestor
  file_transport = address_file
  pipe_transport = address_pipe
  reply_transport = address_reply
  condition = ${if exists{$home/.forward} {yes} {no} }


localuser:
  driver = accept
  condition = ${lookup pgsql {select uid from accounts where login = '$local_part@$domain'}{yes}{no}}
  transport = local_delivery
  cannot_route_message = Unknown user


begin transports

remote_smtp:
  driver = smtp

local_delivery:
  driver = appendfile
  directory = ${lookup pgsql{select maildir from accounts where login = '$local_part@$domain'}{$value}fail}
  create_directory
  directory_mode = 0770
  maildir_format
  delivery_date_add
  envelope_to_add
  return_path_add
  group = 26
  user = 26
  mode = 0660
  no_mode_fail_narrower
  quota = ${lookup pgsql{select mailquota from accounts where login = '$local_part@$domain'}{$value}fail}M
  quota_warn_message = "\
          To: $local_part@domain\n\
        From: postmaster@new.gtss.ru\n\
        Subject: Ваш почтовый ящик почти заполнен\n\
        Это автоматическое сообщение почтового сервера.\n\
        Ваш почтовый ящик заполнен на 75%. После заполнения почтового ящика\n\
        новая почта не будет приходить.\n\"
  quota_warn_threshold = 75%

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




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

begin rewrite




begin authenticators

auth_plain:
  driver = plaintext
  public_name = PLAIN
  server_condition = ${lookup pgsql{SELECT login FROM accounts WHERE login='$1' AND password='$2'}{yes}{no}}
  server_prompts = :
  server_set_id = $2

auth_login:
  driver = plaintext
  public_name = LOGIN
  server_condition = ${lookup pgsql {SELECT login FROM accounts WHERE login='$1' AND password='$2'}{yes}{no}}
  server_prompts = Username:: : Password::
  server_set_id = $1

auth_cram_md5:
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${lookup pgsql {select password from accounts where login='$1'}{$value}fail}
  server_set_id = $1

DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение DJ Kill » 2009-05-18 16:06:23

Даже не могу понять какая ACL у меня проверяет и пишит в логи эту строчку. :(

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение princeps » 2009-05-18 16:24:25

Это ты с какого сервера портянку выложил?
На каком сервере у тебя валится в логи сообщение об ошибке? Есть предположение, что рубится по проверке отправителя.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение DJ Kill » 2009-05-18 16:37:30

Как раз с того, который рубит по проверке отправителя.

На том, который шлёт - sendmail и такой проблемы нет. А на этом exim и он не хочет пускать почту с моего же домена.

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение princeps » 2009-05-18 17:06:46

Если хочешь решить проблему очень быстро - сделай белый список, как в прилепленной теме и добавь туда свой домен. В любом случае сделай белый список - очень сильно облегчает жизнь.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение DJ Kill » 2009-05-18 17:27:08

White List всё же не хочется под один домен подряжать. С учётом того, что это МОЙ домен (то есть всеми аспектами этого домена, включая DNS записи управляю я).

Прикреплённую тему скурил. Из неё вынес только одну статью: http://putnik.net.ua/index.php/comps/so ... s_nomatch/

Но не помогло.


DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение DJ Kill » 2009-05-19 10:29:59

Самое забавное - что я не понимаю как ловить это в дебаге. :(

То, что даёт exim -bd -d+all почти не поддаётся разбору в виду того, что идёт ТОННА писем. :(

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение princeps » 2009-05-19 10:41:00

к логам сендмэйла есть доступ? телнетом цепляйся с gtss.ru на new.gtss.ru на 25-й порт и посмотри что происходит
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение DJ Kill » 2009-05-19 11:07:24

Доступ есть.

Происходит - он шлёт письмо (status sent) и всё Ок.

Проблему решил добавив MX для домена gtss.ru в таблицу relay from hosts... Уверенности в правильности этого решения нет. :(

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение princeps » 2009-05-19 11:10:22

почему же, правильное, только это, фактически, тот же самый белый список. Все равно стоит разобраться в чем дело.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение DJ Kill » 2009-05-19 11:58:52

Знать бы как разобраться.

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Exim не принимает почту с одного домена.

Непрочитанное сообщение princeps » 2009-05-19 13:47:49

Как я понимаю, не работает обратная проверка пользователя. Что странно, поскольку, как ты говоришь, письма с new.gtss.ru нормально ползают на gtss.ru. попробуй все-таки телнетом, может что интересное обнаружится
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru