2014-04-02 7 views
0

PHP와 Exim4를 실행하는 데비안 서버가 있습니다 (다른 것들 중에서도). PHP 응용 프로그램은 매일 1000 개의 전자 메일을 보내고 있지만 모두 잘 작동합니다. 그러나 이제는 새로운 고객이 생겨서 PHP/Exim4에서이 계정으로 보내는 데 문제가 있습니다.PHP에서 메일 보내기 Unrouteable address

추신 : 크롤러가 주소를 찾는 것을 막으려면 --at--을 추가했습니다.

  1. 은 내가 exim4에 로그를 확인하고 이걸 발견 :

    수출입이 -f 지원을 -d :

2014-04-02 08:48:10 1WV7TW-0001Em-Od <= support --at-- sobs.com.au H=localhost [127.0.0.1] P=esmtp S=1215 
2014-04-02 08:48:11 1WV7TW-0001Em-Od ** az --at-- mentonegrammmar: Unrouteable address 
2014-04-02 08:48:11 1WV7TW-0001Em-Od Completed 
  1. 내가 다음 사용 exim4에의 라우팅을 확인 --at-- sobs.com.au -bt az --at-- mentonegrammar

  2. 라우팅이 완벽하게 작동되는 것처럼이 보이는
    Exim version 4.80 uid=0 gid=0 pid=12506 D=fbb95cfd 
    Berkeley DB: Berkeley DB 5.1.29: (October 25, 2011) 
    Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM 
    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.7.2] 
    Library version: GnuTLS: Compile: 2.12.20 
    Runtime: 2.12.20 
    Library version: PCRE: Compile: 8.31 
    Runtime: 8.30 2012-02-04 
    Total 13 lookups 
    WHITELIST_D_MACROS: "OUTGOING" 
    TRUSTED_CONFIG_LIST: "/etc/exim4/trusted_configs" 
    changed uid/gid: forcing real = effective 
    uid=0 gid=0 pid=12506 
    auxiliary group list: none 
    seeking password data for user "uucp": cache not available 
    getpwnam() succeeded uid=10 gid=10 
    changed uid/gid: calling tls_validate_require_cipher 
    uid=101 gid=103 pid=12507 
    auxiliary group list: none 
    tls_validate_require_cipher child 12507 ended: status=0x0 
    configuration file is /var/lib/exim4/config.autogenerated 
    log selectors = 00000ffc 00612001 
    trusted user 
    admin user 
    seeking password data for user "mail": cache not available 
    getpwnam() succeeded uid=8 gid=8 
    user name "root" extracted from gecos field "root" 
    originator: uid=0 gid=0 login=root name=root 
    sender address = root --at-- ds6419.hostname.net.au 
    Address testing: uid=0 gid=103 euid=0 egid=103 
    Testing az --at-- mentonegrammar 
    Considering az --at-- mentonegrammar 
    routing az --at-- mentonegrammar 
    -------- hubbed_hosts router -------- 
    local_part=az domain=mentonegrammar 
    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=az domain=mentonegrammar 
    checking domains 
    search_open: dsearch "/etc/exim4/virtual" 
    search_find: file="/etc/exim4/virtual" 
    key="mentonegrammar" partial=-1 affix=NULL starflags=0 
    LRU list: 
    5/etc/exim4/virtual 
    End 
    internal_search_find: file="/etc/exim4/virtual" 
    type=dsearch key="mentonegrammar" 
    file lookup required for mentonegrammar 
    in /etc/exim4/virtual 
    lookup failed 
    mentonegrammar.net in "@:localhost:dsearch;/etc/exim4/virtual"? no (end of list) 
    mentonegrammar.net in "empty"? no (end of list) 
    mentonegrammar.net in "! +local_domains : +relay_to_domains"? no (end of list) 
    dnslookup_relay_to_domains router skipped: domains mismatch 
    -------- dnslookup router -------- 
    local_part=az domain=mentonegrammar 
    checking domains 
    cached no match for +local_domains 
    cached lookup data = NULL 
    mentonegrammar in "! +local_domains"? yes (end of list) 
    R: dnslookup for [email protected] 
    calling dnslookup router 
    dnslookup router called for az --at-- mentonegrammar 
    domain = mentonegrammar 
    DNS lookup of mentonegrammar (MX) succeeded 
    DNS lookup of mail.mentonegrammar (AAAA) gave NO_DATA 
    returning DNS_NODATA 
    DNS lookup of mail.mentonegrammar (A) succeeded 
    58.96.103.231 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 :255.255.255.255"? no 
    (end of list) 
    fully qualified name = mentonegrammar 
    host_find_bydns yield = HOST_FOUND (2); returned hosts: 
    mail.mentonegrammar 58.96.103.231 MX=5 
    set transport remote_smtp 
    queued for remote_smtp transport: local_part = az 
    domain = mentonegrammar 
    errors_to=NULL 
    domain_data=NULL localpart_data=NULL 
    routed by dnslookup router 
    envelope to: az --at-- mentonegrammar 
    transport: remote_smtp 
    host mail.mentonegrammar [58.96.103.231] MX=5 
    search_tidyup called 
    =============== Exim pid=12506 terminating with rc=0 =============== 
    az --at-- mentonegrammar 
    router = dnslookup, transport = remote_smtp 
    host mail.mentonegrammar [58.96.103.231] MX=5 
    

    . 응용 프로그램 전자 메일을 다시 시도했지만 Unrouteable 주소 오류가 발생했습니다.

  3. 그런 다음 동일한 서버에서 명령 줄 이메일을 시도했습니다.

    echo "Test message"| 메일 - "테스트 메시지"az - at - mentonegrammar

이 이메일은 필요에 따라 작동했지만 도착했지만 PHP 응용 프로그램의 이메일은 계속 실패합니다. 성공적으로 서버 및 응용 프로그램에 의해 전송되는

  1. 으로 언급

$mime = new Mail_mime(); 
$formattedHeaders = $mime->headers($headers); 
$mime->setHTMLBody($body); 
$content = $mime->get(array('html_charset' => 'utf-8')); 
$smtp = Mail::factory("smtp", array()); 
$result = $smtp->send($headers["To"], $formattedHeaders, $content); 
가 1000 이메일 :
  1. 나는 응용 프로그램을 확인.

  2. IT에서 Mentone Grammar는 다른 이메일 수신에 문제가 없음을 나타내지 않았습니다.

요약하면 exim4 로그의 '라우팅 할 수없는 주소'오류와 주소가 라우팅 될 수 있음을 나타내는 디버그 출력으로 되돌아갑니다. 나는 Exim4 설정에 문제가 있다고 생각할 수밖에 없다. 그러나 나는 모른다.

아무도 올바른 방향으로 나를 가리킬 수 있습니까?

+0

exim 질문이 서버 오류에서 더 잘 수행 될 수 있습니다. http://serverfault.com –

+0

이 문제를 ServerFault 영역으로 전송하는 간단한 방법이 있습니까? –

+0

복사했습니다. –

답변

0

용액은 'm 's'에 있었다. 응용 프로그램의 원래 항목에는 'mentonegrammmar'가 있는데, 나중의 테스트에는 'mentonegrammar'가 있습니다. 내 브라우저가 응용 프로그램의 잘못된 항목을 기억하고 양식을 자동 채우고 있었는데주의를 기울이지 않았습니다.

ServerFault에서 krisFR의 답변에 감사드립니다.