LINUX.ORG.RU
решено ФорумAdmin

Exim4, Яндекс.Почта для домена, is undeliverable: Unrouteable address

 ,


0

1

Имеется Debian 8 с сайтом. Стоит Exim version 4.84_2 #2 built 14-Jun-2017 11:59:3

Домен машины mydomain.ru, при этом используется почта для Домена Яндекс.

С других серверов по MX записи почта идёт сразу на Яндекс. С сайта на все другие домены почта ходит без проблем.

Но при попытке отправить с машины письмо на домен mydomain.ru, т.е. на Яндекс, получаем info@mydomain.ru is undeliverable: Unrouteable address

Как это можно обойти, чтобы Exim понимал, что это не локальный ящик? Я так понимаю проблема в этом.

Для Exim выбрана конфигурация через dpkg-reconfigure как internet site.

Лог прилагаю.

[01:04:25] root@mydomain ~# exim -d+all -bt info@mydomain.ru
01:04:26 12177 Exim version 4.84_2 uid=0 gid=0 pid=12177 D=fffdffff
Berkeley DB: Berkeley DB 5.3.28: (September  9, 2013)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM PRDR OCSP
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Compiler: GCC [4.9.2]
Library version: GnuTLS: Compile: 3.3.8
                         Runtime: 3.3.8
Library version: PCRE: Compile: 8.35
                       Runtime: 8.35 2014-04-04
01:04:26 12177 Total 13 lookups
WHITELIST_D_MACROS: "OUTGOING"
TRUSTED_CONFIG_LIST: "/etc/exim4/trusted_configs"
01:04:26 12177 changed uid/gid: forcing real = effective
01:04:26 12177   uid=0 gid=0 pid=12177
01:04:26 12177   auxiliary group list: <none>
01:04:26 12177 seeking password data for user "uucp": cache not available
01:04:26 12177 getpwnam() succeeded uid=10 gid=10
01:04:26 12178 changed uid/gid: calling tls_validate_require_cipher
01:04:26 12178   uid=105 gid=110 pid=12178
01:04:26 12178   auxiliary group list: <none>
01:04:26 12177 tls_validate_require_cipher child 12178 ended: status=0x0
01:04:26 12177 configuration file is /var/lib/exim4/config.autogenerated
01:04:26 12177 log selectors = 00000ffc 00632001
01:04:26 12177 trusted user
01:04:26 12177 admin user
01:04:26 12177 seeking password data for user "mail": cache not available
01:04:26 12177 getpwnam() succeeded uid=8 gid=8
01:04:26 12177 expanding: $1
01:04:26 12177    result: root
01:04:26 12177 user name "root" extracted from gecos field "root"
01:04:26 12177 originator: uid=0 gid=0 login=root name=root
01:04:26 12177 sender address = root@mydomain.ru
01:04:26 12177 Address testing: uid=0 gid=110 euid=0 egid=110
01:04:26 12177 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
01:04:26 12177 Testing info@mydomain.ru
01:04:26 12177 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
01:04:26 12177 Considering info@mydomain.ru
01:04:26 12177 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
01:04:26 12177 routing info@mydomain.ru
01:04:26 12177 --------> hubbed_hosts router <--------
01:04:26 12177 local_part=info domain=mydomain.ru
01:04:26 12177 checking domains
01:04:26 12177 expanding: /etc/exim4/hubbed_hosts
01:04:26 12177    result: /etc/exim4/hubbed_hosts
01:04:26 12177 condition: exists{/etc/exim4/hubbed_hosts}
01:04:26 12177    result: false
01:04:26 12177 expanding: partial-lsearch;/etc/exim4/hubbed_hosts
01:04:26 12177    result: partial-lsearch;/etc/exim4/hubbed_hosts
01:04:26 12177 skipping: result is not used
01:04:26 12177 failed to expand: ${if exists{/etc/exim4/hubbed_hosts}{partial-lsearch;/etc/exim4/hubbed_hosts}fail}
01:04:26 12177    error message: "if" failed and "fail" requested
01:04:26 12177 failure was forced
01:04:26 12177 expansion of "${if exists{/etc/exim4/hubbed_hosts}{partial-lsearch;/etc/exim4/hubbed_hosts}fail}" forced failure: assume not in this list
01:04:26 12177 hubbed_hosts router skipped: domains mismatch
01:04:26 12177 --------> dnslookup_relay_to_domains router <--------
01:04:26 12177 local_part=info domain=mydomain.ru
01:04:26 12177 checking domains
01:04:26 12177 mydomain.ru in "@:localhost"? yes (matched "@")
01:04:26 12177 mydomain.ru in "! +local_domains : +relay_to_domains"? no (matched "! +local_domains")
01:04:26 12177 dnslookup_relay_to_domains router skipped: domains mismatch
01:04:26 12177 --------> dnslookup router <--------
01:04:26 12177 local_part=info domain=mydomain.ru
01:04:26 12177 checking domains
01:04:26 12177 cached yes match for +local_domains
01:04:26 12177 cached lookup data = NULL
01:04:26 12177 mydomain.ru in "! +local_domains"? no (matched "! +local_domains" - cached)
01:04:26 12177 dnslookup router skipped: domains mismatch
01:04:26 12177 --------> real_local router <--------
01:04:26 12177 local_part=info domain=mydomain.ru
01:04:26 12177 real_local router skipped: prefix mismatch
01:04:26 12177 --------> system_aliases router <--------
01:04:26 12177 local_part=info domain=mydomain.ru
01:04:26 12177 checking domains
01:04:26 12177 cached yes match for +local_domains
01:04:26 12177 cached lookup data = NULL
01:04:26 12177 mydomain.ru in "+local_domains"? yes (matched "+local_domains" - cached)
01:04:26 12177 expanding: R: system_aliases for $local_part@$domain
01:04:26 12177    result: R: system_aliases for info@mydomain.ru
01:04:26 12177 R: system_aliases for info@mydomain.ru
01:04:26 12177 calling system_aliases router
01:04:26 12177 rda_interpret (string): ${lookup{$local_part}lsearch{/etc/aliases}}
01:04:26 12177 expanding: $local_part
01:04:26 12177    result: info
01:04:26 12177 expanding: /etc/aliases
01:04:26 12177    result: /etc/aliases
01:04:26 12177 search_open: lsearch "/etc/aliases"
01:04:26 12177 search_find: file="/etc/aliases"
01:04:26 12177   key="info" partial=-1 affix=NULL starflags=0
01:04:26 12177 LRU list:
01:04:26 12177   7/etc/aliases
01:04:26 12177   End
01:04:26 12177 internal_search_find: file="/etc/aliases"
01:04:26 12177   type=lsearch key="info"
01:04:26 12177 file lookup required for info
01:04:26 12177   in /etc/aliases
01:04:26 12177 lookup failed
01:04:26 12177 expanding: ${lookup{$local_part}lsearch{/etc/aliases}}
01:04:26 12177    result: 
01:04:26 12177 expanded: 
01:04:26 12177 file is not a filter file
01:04:26 12177 parse_forward_list: 
01:04:26 12177 system_aliases router declined for info@mydomain.ru
01:04:26 12177 --------> userforward router <--------
01:04:26 12177 local_part=info domain=mydomain.ru
01:04:26 12177 checking domains
01:04:26 12177 cached yes match for +local_domains
01:04:26 12177 cached lookup data = NULL
01:04:26 12177 mydomain.ru in "+local_domains"? yes (matched "+local_domains" - cached)
01:04:26 12177 checking for local user
01:04:26 12177 seeking password data for user "info": cache not available
01:04:26 12177 getpwnam() returned NULL (user not found)
01:04:26 12177 userforward router skipped: info is not a local user
01:04:26 12177 --------> procmail router <--------
01:04:26 12177 local_part=info domain=mydomain.ru
01:04:26 12177 checking domains
01:04:26 12177 cached yes match for +local_domains
01:04:26 12177 cached lookup data = NULL
01:04:26 12177 mydomain.ru in "+local_domains"? yes (matched "+local_domains" - cached)
01:04:26 12177 checking for local user
01:04:26 12177 seeking password data for user "info": using cached result
01:04:26 12177 getpwnam() returned NULL (user not found)
01:04:26 12177 procmail router skipped: info is not a local user
01:04:26 12177 --------> maildrop router <--------
01:04:26 12177 local_part=info domain=mydomain.ru
01:04:26 12177 checking domains
01:04:26 12177 cached yes match for +local_domains
01:04:26 12177 cached lookup data = NULL
01:04:26 12177 mydomain.ru in "+local_domains"? yes (matched "+local_domains" - cached)
01:04:26 12177 checking for local user
01:04:26 12177 seeking password data for user "info": using cached result
01:04:26 12177 getpwnam() returned NULL (user not found)
01:04:26 12177 maildrop router skipped: info is not a local user
01:04:26 12177 --------> lowuid_aliases router <--------
01:04:26 12177 local_part=info domain=mydomain.ru
01:04:26 12177 checking domains
01:04:26 12177 cached yes match for +local_domains
01:04:26 12177 cached lookup data = NULL
01:04:26 12177 mydomain.ru in "+local_domains"? yes (matched "+local_domains" - cached)
01:04:26 12177 checking for local user
01:04:26 12177 seeking password data for user "info": using cached result
01:04:26 12177 getpwnam() returned NULL (user not found)
01:04:26 12177 lowuid_aliases router skipped: info is not a local user
01:04:26 12177 --------> local_user router <--------
01:04:26 12177 local_part=info domain=mydomain.ru
01:04:26 12177 checking domains
01:04:26 12177 cached yes match for +local_domains
01:04:26 12177 cached lookup data = NULL
01:04:26 12177 mydomain.ru in "+local_domains"? yes (matched "+local_domains" - cached)
01:04:26 12177 checking local_parts
01:04:26 12177 info in "! root"? yes (end of list)
01:04:26 12177 checking for local user
01:04:26 12177 seeking password data for user "info": using cached result
01:04:26 12177 getpwnam() returned NULL (user not found)
01:04:26 12177 local_user router skipped: info is not a local user
01:04:26 12177 --------> mail4root router <--------
01:04:26 12177 local_part=info domain=mydomain.ru
01:04:26 12177 checking domains
01:04:26 12177 cached yes match for +local_domains
01:04:26 12177 cached lookup data = NULL
01:04:26 12177 mydomain.ru in "+local_domains"? yes (matched "+local_domains" - cached)
01:04:26 12177 checking local_parts
01:04:26 12177 info in "root"? no (end of list)
01:04:26 12177 mail4root router skipped: local_parts mismatch
01:04:26 12177 no more routers
info@mydomain.ru is undeliverable: Unrouteable address
01:04:26 12177 search_tidyup called
01:04:26 12177 >>>>>>>>>>>>>>>> Exim pid=12177 terminating with rc=2 >>>>>>>>>>>>>>>>

mydomain.ru не является локальным местом для ящиков на этом хосте. поэтому не надо его добавлять в +local_domains.

корректно обозвать машину host.mydomain.ru, чтобы он был primary_hostname. добавить этот fqdn в +local_domains. А mydomain.ru должен маршрутизироваться наружу по dnslookup router.

anonymous
()
Ответ на: комментарий от anonymous

Как вариант, пока в роутинге ниже локальных правил расположил такое:

yandex_router:
driver = manualroute
domains = mydomain.ru
transport = remote_smtp
route_list = * mx.yandex.ru
no_more
Получается если оно не находит локальный ящик info@mydomain.ru, то обращается к почте на ЯД, системная почта как обычно, остальные домены тоже.

Tadava
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.