2012-01-09 3 views
0

PHP 메일 기능이 CentOS 5.7 서버에서 작동하지 않습니다. 함수 호출을 포함하는 스크립트는 지난 며칠까지이 서버에서 작동했지만 구성 변경이 없었습니다.PHP 메일() 함수가 true 또는 false를 반환하지 않음 - 스크립트가 시간 초과 됨

mail() 함수를 호출 할 때마다 PHP 스크립트는 해당 줄을 멈추거나 고정시킵니다. 스크립트 제한 시간 한도에 도달합니다.

$msgheader = 'MIME-Version: 1.0' . "\r\n"; 
$msgheader .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$msgheader .= "From: Test Name <[email protected]>\r\n"; 

echo "About to send mail ->"; 
mail ("[email protected]", "Test Subject", "Test Body", $msg_header); 
echo "Script never reaches this line!"; 

이 질문에 대한 이메일 주소를 수정했지만 스크립트가 올바르게 이전에 실행되었으므로 문제가되지 않습니다.

이메일 주소를 다양한 개인 계정 (예 : @ yahoo.com)으로 변경하려고 시도했지만 여전히 작동하지 않으므로 내 사용자가 거주하는 조직의 스팸 필터링 때문이라고 생각하지 않습니다.

전자 메일을 보낼 수없는 경우 즉시 false를 반환하는 것이 아니라 스크립트가 만료 될 때까지 메일 기능이 중단 될 수있는 원인은 무엇입니까? 어떤 설정을 볼 수 있습니까?

감사합니다.

편집 :

  • 의 php.ini가 가지고있는 아파치 오류 로그에 오류가 없습니다 :

    SMTP = localhost를; smtp_port = 25; sendmail_path = 인/usr/sbin/sendmail이 -t -i

+0

기록되는 오류가 있는지 로그 파일을 확인하십시오. –

+0

새 서버 메일 서버가 설치 되었습니까? php.ini에서 설정 했습니까? –

+0

아파치 오류 로그에 오류가 없습니다. 필자는 php.ini 설정을 포함 시켰습니다. 방화벽에서 포트 25를 열었지만 여전히 문제가 해결되지 않았습니다. – Dan

답변

0

이 문제는 서버의 DNS 설정에 문제가 관련이 있었다. 시도 후

는 :

yum update 

는 서버가 인터넷에 연결하는 문제가 발생했다 분명 해졌다. 이메일을 보내도록 아웃 바운드 연결을 시도하는 긴 시간 초과를 설명합니다.

나는 아웃 바운드 연결을 설정하기 위해 CentOS는 내 /etc/resolv.conf 파일에

검색 LOCALDOMAIN

를 추가했다. 이 질문은 ServerFault에 더 잘 게시되어 이제는 그 문제를 알고 있습니다.

관련 문제