exim4 에서 메일이 제대로 전송되지 않는 경우
글쓴이: 권순선 / 작성시간: 일, 2005/08/07 - 5:26오후
http://kldp.net 에서 exim4를 mta로 사용하고 있고, /etc/aliases 에 webmaster가 alias로 다음과 같이 지정되어 있는데 이 주소로 메일이 제대로 전송되지 않습니다.
webmaster: root root: kss kss: 제 실제 이메일 주소
kldp.net에서 exim4 -d -bt webmaster@kldp.net 을 실행해본 결과는 다음과 같습니다.
Exim version 4.50 uid=0 gid=0 pid=5149 D=fbb95cfd Berkeley DB: Sleepycat Software: Berkeley DB 4.2.52: (December 3, 2003) Support for: iconv() IPv6 PAM Perl GnuTLS Content_Scanning Old_Demime Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql nis nis0 passwd pgsql Authenticators: cram_md5 cyrus_sasl plaintext spa Routers: accept dnslookup ipliteral iplookup manualroute queryprogram redirect Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp Fixed never_users: 0 changed uid/gid: forcing real = effective uid=0 gid=0 pid=5149 auxiliary group list: <none> configuration file is /var/lib/exim4/config.autogenerated log selectors = 00000ffc 00020800 trusted user admin user finduser used cached passwd data for nobody finduser used cached passwd data for nobody finduser used cached passwd data for nobody finduser used cached passwd data for nobody finduser used cached passwd data for nobody finduser used cached passwd data for nobody finduser used cached passwd data for nobody finduser used cached passwd data for nobody finduser used cached passwd data for nobody finduser used cached passwd data for nobody user name "root" extracted from gecos field "root" originator: uid=0 gid=0 login=root name=root sender address = root@mail.kldp.net Address testing: uid=0 gid=102 euid=0 egid=102 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Testing webmaster@kldp.net >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering webmaster@kldp.net >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> routing webmaster@kldp.net --------> forward_for_gforge router <-------- local_part=webmaster domain=kldp.net checking domains kldp.net in "users.kldp.net"? no (end of list) forward_for_gforge router skipped: domains mismatch --------> forward_for_gforge_lists router <-------- local_part=webmaster domain=kldp.net checking domains kldp.net in "lists.kldp.net"? no (end of list) forward_for_gforge_lists router skipped: domains mismatch --------> forward_for_gforge_lists_owner router <-------- local_part=webmaster domain=kldp.net forward_for_gforge_lists_owner router skipped: suffix mismatch --------> forward_for_gforge_lists_request router <-------- local_part=webmaster domain=kldp.net forward_for_gforge_lists_request router skipped: suffix mismatch --------> forward_for_gforge_lists_admin router <-------- local_part=webmaster domain=kldp.net forward_for_gforge_lists_admin router skipped: suffix mismatch --------> forward_for_gforge_lists_bounces router <-------- local_part=webmaster domain=kldp.net forward_for_gforge_lists_bounces router skipped: suffix mismatch --------> forward_for_gforge_lists_confirm router <-------- local_part=webmaster domain=kldp.net forward_for_gforge_lists_confirm router skipped: suffix mismatch --------> forward_for_gforge_lists_join router <-------- local_part=webmaster domain=kldp.net forward_for_gforge_lists_join router skipped: suffix mismatch --------> forward_for_gforge_lists_leave router <-------- local_part=webmaster domain=kldp.net forward_for_gforge_lists_leave router skipped: suffix mismatch --------> forward_for_gforge_lists_subscribe router <-------- local_part=webmaster domain=kldp.net forward_for_gforge_lists_subscribe router skipped: suffix mismatch --------> forward_for_gforge_lists_unsubscribe router <-------- local_part=webmaster domain=kldp.net forward_for_gforge_lists_unsubscribe router skipped: suffix mismatch --------> hubbed_hosts router <-------- local_part=webmaster domain=kldp.net checking domains expansion of "${if exists{/etc/exim4/hubbed_hosts}{partial-lsearch;/etc/exim4/hubbed_hosts}fail}" forced failure: assume not in this list hubbed_hosts router skipped: domains mismatch --------> dnslookup_relay_to_domains router <-------- local_part=webmaster domain=kldp.net checking domains kldp.net in "@:localhost:kldp.net:users.kldp.net:lists.kldp.net"? yes (matched "kldp.net") kldp.net in "! +local_domains : +relay_to_domains"? no (matched "! +local_domains") dnslookup_relay_to_domains router skipped: domains mismatch --------> dnslookup router <-------- local_part=webmaster domain=kldp.net checking domains cached yes match for +local_domains cached lookup data = NULL kldp.net in "! +local_domains"? no (matched "! +local_domains" - cached) dnslookup router skipped: domains mismatch --------> real_local router <-------- local_part=webmaster domain=kldp.net real_local router skipped: prefix mismatch --------> system_aliases router <-------- local_part=webmaster domain=kldp.net checking domains cached yes match for +local_domains cached lookup data = NULL kldp.net in "+local_domains"? yes (matched "+local_domains" - cached) R: system_aliases for webmaster@kldp.net calling system_aliases router rda_interpret (string): ${lookup{$local_part}lsearch{/etc/aliases}} search_open: lsearch "/etc/aliases" search_find: file="/etc/aliases" key="webmaster" partial=-1 affix=NULL starflags=0 LRU list: :/etc/aliases End internal_search_find: file="/etc/aliases" type=lsearch key="webmaster" file lookup required for webmaster in /etc/aliases lookup yielded: root expanded: root file is not a filter file parse_forward_list: root extract item: root system_aliases router generated root@mail.kldp.net errors_to=NULL transport=NULL uid=unset gid=unset home=NULL routed by system_aliases router envelope to: webmaster@kldp.net transport: <none> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering root@mail.kldp.net >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> routing root@mail.kldp.net --------> forward_for_gforge router <-------- local_part=root domain=mail.kldp.net checking domains mail.kldp.net in "users.kldp.net"? no (end of list) forward_for_gforge router skipped: domains mismatch --------> forward_for_gforge_lists router <-------- local_part=root domain=mail.kldp.net checking domains mail.kldp.net in "lists.kldp.net"? no (end of list) forward_for_gforge_lists router skipped: domains mismatch --------> forward_for_gforge_lists_owner router <-------- local_part=root domain=mail.kldp.net forward_for_gforge_lists_owner router skipped: suffix mismatch --------> forward_for_gforge_lists_request router <-------- local_part=root domain=mail.kldp.net forward_for_gforge_lists_request router skipped: suffix mismatch --------> forward_for_gforge_lists_admin router <-------- local_part=root domain=mail.kldp.net forward_for_gforge_lists_admin router skipped: suffix mismatch --------> forward_for_gforge_lists_bounces router <-------- local_part=root domain=mail.kldp.net forward_for_gforge_lists_bounces router skipped: suffix mismatch --------> forward_for_gforge_lists_confirm router <-------- local_part=root domain=mail.kldp.net forward_for_gforge_lists_confirm router skipped: suffix mismatch --------> forward_for_gforge_lists_join router <-------- local_part=root domain=mail.kldp.net forward_for_gforge_lists_join router skipped: suffix mismatch --------> forward_for_gforge_lists_leave router <-------- local_part=root domain=mail.kldp.net forward_for_gforge_lists_leave router skipped: suffix mismatch --------> forward_for_gforge_lists_subscribe router <-------- local_part=root domain=mail.kldp.net forward_for_gforge_lists_subscribe router skipped: suffix mismatch --------> forward_for_gforge_lists_unsubscribe router <-------- local_part=root domain=mail.kldp.net forward_for_gforge_lists_unsubscribe router skipped: suffix mismatch --------> hubbed_hosts router <-------- local_part=root domain=mail.kldp.net checking domains expansion of "${if exists{/etc/exim4/hubbed_hosts}{partial-lsearch;/etc/exim4/hubbed_hosts}fail}" forced failure: assume not in this list hubbed_hosts router skipped: domains mismatch --------> dnslookup_relay_to_domains router <-------- local_part=root domain=mail.kldp.net checking domains mail.kldp.net in "@:localhost:kldp.net:users.kldp.net:lists.kldp.net"? no (end of list) mail.kldp.net in "kldp.net"? no (end of list) mail.kldp.net in "! +local_domains : +relay_to_domains"? no (end of list) dnslookup_relay_to_domains router skipped: domains mismatch --------> dnslookup router <-------- local_part=root domain=mail.kldp.net checking domains cached no match for +local_domains cached lookup data = NULL mail.kldp.net in "! +local_domains"? yes (end of list) R: dnslookup for root@mail.kldp.net calling dnslookup router dnslookup router called for root@mail.kldp.net domain = mail.kldp.net DNS lookup of mail.kldp.net (MX) gave NO_DATA returning DNS_NODATA DNS lookup of mail.kldp.net (AAAA) gave NO_DATA returning DNS_NODATA DNS lookup of mail.kldp.net (A) succeeded 210.118.94.78 in "0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16"? no (end of list) local host found for non-MX address fully qualified name = mail.kldp.net mail.kldp.net 210.118.94.78 mx=-1 sort=-499 LOG: MAIN remote host address is the local host: mail.kldp.net (while routing <root@mail.kldp.net>) dnslookup router: defer for root@mail.kldp.net message: remote host address is the local host search_tidyup called >>>>>>>>>>>>>>>> Exim pid=5149 terminating with rc=1 >>>>>>>>>>>>>>>>
Forums:
우선 저는 exim에 대해 전혀 아는 바가 없다는 것을 밝힙니다.설치
우선 저는 exim에 대해 전혀 아는 바가 없다는 것을 밝힙니다.
설치조차 해본 적이 없습니다. :oops:
그냥 답변이 없길래, 로그만 보고 추측성 글을 올립니다.
system alias의 내용중
webmaster: root
윗 부분이 적용되는 것이 의도하신 것과 다른 것 같습니다.
즉, webmaster@kldp.net 이 root@kldp.net 으로 의도하신것 같은데
root@mail.kldp.net 으로 변환되네요.
호스트네임이 mail.kldp.net이고 exim의 alias 해석기가 아마도 호스트네임을 갖다붙이는 식으로
동작하는 것이 아닐까 싶습니다.
그리고 exim이 설치된 시스템이 210.118.94.78인데 이 시스템의 exim은
mail.kldp.net으로 배달되어 오는 메일을 로컬메일로 처리하지 않도록 설정되어 있군요.
결국 종합해보면 첫단계 alias가 해석되어 root@mail.kldp.net으로 메일을 전달해야하는데,
이 시스템은 mail.kldp.net에 대한 메일을 처리하지 않도록 설정되어 있어서
remote호스트라 생각하는데, dns resolve 결과는 local ip가 떨어지니까
exim이 전달을 포기해 버리는 상황 같습니다.
alias가 root@kldp.net으로 해석되도록 하는 방법과
exim이 mail.kldp.net을 로컬메일로 인식하도록 하는 방법중
한가지만 적용하셔도 문제는 해결될 것 같습니다.
하지만 통상적인 사용에 비추어볼때, 둘다 적용하시는게 의도하시는 내용이 아닐까 추측되네요.
[quote="yoocj9"]우선 저는 exim에 대해 전혀 아는 바가
아 그렇군요! 호스트네임은 다른 것으로 되어 있는데... 일단은 간단하게 /etc/aliases를 수정해서 root을 root@kldp.net으로 고쳤습니다.
감사드립니다....
댓글 달기