2013-03-15 3 views
0

HTML 코드를 보내려면이 테스트 코드가 있어야합니다. 가장 오랫동안 보내는 중이었지만 HTML 형식으로 보내지 않았습니다. 그리고 지금, 그것은 전혀 보내지 않습니다.이 PHP 스크립트가 HTML 메일을 보내지 못하는 이유는 무엇입니까?

PHP manualsimilar questions on this site 코드와 비교해 본 결과, 코드가 잘못되었을 수 있음을 알 수 없습니다. 나를 미치게하고있어.

왜이 코드가 전송되지 않고 HTML로 전송되지 않는 이유는 무엇입니까?

$to = "[email protected]"; 
$subject = "Confirmation code for registration"; 

$message = "<html> 
    <head>"; 
$message .= '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'; 
$message .= "<title>TITLE</title> 
    </head> 
    <body>"; 
$message .= "Thank you for registering! \r\n"; 
$message .= " 
    </body> 
</html>"; 

$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset: utf-8\r\n"; 
$headers .= "From: My Site <[email protected]>r\n"; 

$mailresult = mail($to, $subject, $message, $headers); 
    echo "mail sent! "; 
    echo $mailresult; 

$mailresult 다시 내가 성공을 의미 가정 1, 온다,하지만 메일이 지정된 메일 계정을 받았다 없습니다되고있다.

+0

스팸 폴더를 확인 했습니까? – BenM

+0

PHP'mail()'함수보다는 PHPMailer와 같은 메일 라이브러리를 사용할 것을 제안합니다. 그것은 통합 디버깅 기능과 간단한 인터페이스가 있습니다. –

+0

스팸/정크 폴더에 없으면 SMTP에 문제가있을 수 있습니다. 코드는 – TravellingGeek

답변

4

없이

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

일 : FALSE 그렇지 않으면 메일이 성공적으로 배달 허용 된 경우

true를 돌려줍니다.

메일이 배달을 위해 수락 되었기 때문에 실제로 메일이 원하는 대상에 도달한다는 것을 의미하지는 않습니다.

메일을 보내도록 메일 서버를 구성 했습니까?

+0

녹색 체크는 PHP가 메일을 보낸다는 메시지가 메일 서버로 전달되었다는 것을 의미하지만 메일 서버를 통해 메일이 처리되지는 않는다고 지적한 데 대해 수상했습니다. – Questioner

+0

내가 어떻게 든 당신을 도왔다 니 기뻐. :) – TimeWasterNL

-2

시도 php.net에 따르면 $ mailresult

+0

'$ mailresult'는 메일의 성공 또는 실패를 나타내는 부울 값입니다. 이메일 전송에는 영향을 미치지 않습니다. –

1

코드가 내 서버에서 완벽하게 작동했지만 스팸이 인 것으로 확인되었습니다. 스팸을 확인하십시오. 그리고 서버가 제대로 구성되어 있는지 확인하기 위해 조사를 수행하십시오.

관련 문제