2012-05-25 4 views
0

내 메일 보내기 기능이 작동하지 않는 이유를 모르겠습니다. 이전에는 괜찮 았지만, 내 웹 사이트에 가입하려고하는 사용자는 더 이상 이메일을받지 못한다는 것을 발견했습니다.PHP 메일 보내기 기능

우연히 뭔가를 변경해야합니다.

저는 모든 세부 사항을 제거하고 기본 사항으로 돌아가서 문제를 해결했습니다. 그러나 올바른 전자 메일 주소를 바꾼 다음 코드는 여전히 작동하지 않습니다. 항상 성공했다고 인쇄하지만 이메일은 주소로 보내지지 않습니다.

도움에 감사드립니다.

$email_address2 = "[email protected]"; 
    $header2 = "From: [email protected]\n"; 

    $subject2 = "Your Membership!"; 
    $message2 = " 
    The message2 
    "; 

$mailsend = mail($email_address2, $subject2, $message2, $header2.">\nX-Mailer: PHP/" . phpversion()); 

if($mailsend) { 
    echo 'Your membership information has been mailed to your email address!<br/><br/>Please check it and follow the directions!'; 
} else { 
print "There has been an error. Please try again"; 
} 
+0

도메인/ip가 검은 색/스팸 함 목록에 추가되었을 가능성이 있습니다. 아니면 sendmail이 더 이상 컴퓨터에서 작동하지 않습니다. – PeeHaa

+0

가능합니다. 왜 그런 일이 일어날 지 아십니까? 아마도 적어도 1 주일 동안 망가 졌을 것입니다 ... 웹 사이트가 상당히 광범위한 스팸 공격을 받고 있기 때문에 나는 cpanel 블랙리스트에 빈번한 도메인을 추가하기 시작했습니다 ...하지만 광산을 차단할 수는 없습니다. 그렇지 않으면 아마도 wouldn 사이트를 방문 할 수 있습니까? – Simeon

+0

[Spamhaus] (http://www.spamhaus.org/lookup/) 및 [MX 도구 상자] (http://www.mxtoolbox.com/)에 블랙리스트에 있는지 테스트하십시오. 또한 sendmail에서 오류가 발생하는지 확인하기 위해 cli의 메일을 보내보십시오. – PeeHaa

답변

0

첫 번째 단계는 sendmail이 설치된 위치를 파악하는 것입니다. 경로를 알고 있으면 php.ini로 이동하십시오. sendmail_path 설정을 찾고 있습니다. 적절하게 설정하십시오.

경로가 올바르게 설정되어 있으면 mail()을 올바르게 호출 한 결과가 true를 반환해야합니다. (반환 값은 메시지가 sendmail [또는 Windows의 경우 SMTP]에 전달되었는지 여부 만 알 수 있으며 전자 메일이 나갔다거나 sendmail이 올바르게 구성되었다고 보장하지는 않습니다.) true를 반환하고 여전히 전자 메일을받지 못하면 sendmail 구성을 확인하십시오.