2010-11-24 2 views
0
$mailHeaders = "From: [email protected]{$_SERVER['HTTP_HOST']}\r\n" . 
      "Reply-To: [email protected]\r\n" . 
      "X-Mailer: PHP/" . phpversion(); 
if (!mail($tol, $subject, $mailMessage, $mailHeaders)) 
{ 
    echo "<br />Mail failed to send. Sorry."; 
} 

Mail failed to send. Sorry.이 울리는 것은 아니므로 전송하는 것을 알고 있습니다. 하지만 내받은 편지함에서받지 못합니다. 나는 이유를 알 수 없다.mail()이 (가) 우편이 아닙니다.

아하, 메일 대기열을 발견하여 이메일을 찾았습니다. 다시 보내려고 내가이있어 :

retry time not reached for any host

너희들이, 저기 serverfault로 이동이 좀 닫을 수 있습니까? :)

+0

이것은 cPanel 서버에 있습니까? – Orbling

+0

예. 나는 아마 그것을 언급 했어야했다. – Rob

+0

PHP가 true를 반환하면 메일이 전송되었다는 의미는 아닙니다. 메일 서버는 메일을받은 후에도 메일을 거부 할 수 있습니다. – Lekensteyn

답변

1

스팸 폴더를 확인하셨습니까? 전에 그 문제에 부딪 혔습니다 ...

+0

예, 20 분 동안 새로 고침 – Rob

0

VPS라면 SSH 액세스가있는 것 같습니다. 시도해 보겠습니다.

tail -f /var/log/mail.* 

귀하의 메일로 박스가 무엇인지보고 싶습니다.

+0

꼬리 : 읽기 위해'/var/log/mail.* '을 열 수 없습니다 : 해당 파일이나 디렉토리가 없습니다. – Rob

+0

우분투가 저장되는 곳입니다. 로그. 리눅스 서버에 따라 다른 곳을 봐야 할 수도 있습니다. –

0

일부 메일 서버는 관리가 매우 까다 롭습니다.

PHP 메일러은 사용하기 쉬운 플러그인으로 내 인생을 구했습니다. PHP 이메일에서 모든 복잡한 문제와 미스터리를 제거합니다. HTML 전자 메일을 손상시키고 메일 첨부를 매우 간단하게 만듭니다. 그것을 밖으로 시도하십시오.

사실 나는 이메일이없는 것과 같은 문제가있었습니다. 내 문제를 해결하려면 (주로 내 서버 Go Daddy와 함께) 나는 SMTP 호스트 주소와 직접 통신해야했습니다. 그것이 내가 Go Daddy 서버에서 내 이메일을 얻을 수있는 유일한 방법이었습니다. 그래서 다른 말로하면 Outlook에서 이메일 계정을 설정하는 것과 비슷한 방법으로 PHP 이메일을 설정하는 것입니다. 내 서버의 공용 SMTP 게이트웨이 사용을 제외합니다.

http://phpmailer.worxware.com/

희망이 가까이 솔루션에 당신을 얻는다!

W.

+0

나는 차라리 빠른 해결 방법을 찾는 것보다 문제를 해결할 것이지만 어쨌든 덕분에 – Rob

-1

멍청한 제안 : 메일 기능에 대한 귀하의 바르를 미리 보려면 if 조건 전에 echo $tol, $subject, $mailMessage, $mailHeaders;을 시도합니다.

+0

은 무의미하다. 메일러에 도달하여 메일 대기열에 있습니다. – Rob

관련 문제