2012-05-16 4 views
-1
$to= '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]' . "\r\n" . 
'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 

이 코드를 사용하여 전자 메일을 보내려고합니다. 그러나 나는 이미 10 분을 기다렸으며 이메일을받지 못했습니다. 내가 여기서 무엇을 놓치고 있니?PHP 메일 기능이 작동하지 않습니다.

+0

외부 호스팅? 그렇다면 PHP에서 이메일을 보낼 수 있습니까? 주소에서 자신의 도메인 이메일 주소를 사용해야합니까? –

+2

스팸 목록으로 만들기 전에 코드에서 이메일을 더 잘 숨길 수 있습니다. –

+0

** 너무 현지화되었습니다 **. 우리는 서버 구성을 추측 할 수 없으며 Stackoverflow는 이미 mail() 함수와 관련하여 충분한 질문을 던지고 있습니다. – mario

답변

4

코드에 아무 문제가 없습니다. 코드를 재현하여 이메일을 받았습니다.

메일 서버의 IP가 금지되어 있었기 때문에 정크 박스로 보냈을 수도 있습니다. 어쩌면 메시지가 도달하지 않았을 수도 있습니다.

0

귀하의 호스팅 회사는 아마도 mail() 기능을 활성화하지 않았거나 귀하의 사서함에있는 '정크'폴더를 확인하지 않았을 것입니다.

0

당신은 http://ch.php.net/manual/en/mail.requirements.php 페이지를 살펴 수 있습니다

메일 기능을 사용할 수 있으려면

, PHP 컴파일 시간 동안 시스템의 센드 메일 바이너리에 액세스 할 수 있어야합니다. qmail이나 postfix와 같은 또 다른 메일 프로그램을 사용하는 경우에는 함께 제공되는 센트 메일 래퍼를 사용해야합니다. PHP는 /usr/bin :/usr/sbin :/usr/etc :/usr : ucblib :/usr/lib 디렉토리에서 먼저 sendmail을 찾은 다음 PATH에서 찾습니다. PATH에서 sendmail을 사용하는 것이 좋습니다 ( ). 또한 PHP를 컴파일 한 사용자는 sendmail 바이너리에 액세스 할 권한이 있어야합니다.

1

나는 IIS 서버를 사용하고 있으며 때로는 PHP을 사용하여 메일을 보내지 않는 것으로 생각하고 오류를 제공합니다.

<?php ini_set("sendmail_form", "[email protected]"); ?> 

이 페이지의 첫 번째 줄의 코드를 삽입 한 후 다른 코드를 쓰기 :

당신이 당신의 메일을 보내는 데 사용할 것이다 PHP 페이지에서 아래의 코드를 사용할 수 있습니다이 문제를 극복하기 위해. 시도 해봐.

귀하의 메일이이 페이지에서 발신자에게 전송됩니다.

관련 문제