2017-10-09 7 views
0

PHP가 포함 된 html 메일을 cpanel에 보내는 코드가 있지만 오류없이 보내지는 않습니다. 일반 텍스트 메일을 테스트했는데 정상적으로 작동하지만 아래에 헤더를 추가하면 작동하지 않습니다.PHP html 메일이 cpanel 서버에서 작동하지 않습니다.

//send html mail 
ini_set('sendmail_from', '[email protected]'); 
      $headers = "From: [email protected]\r\n"."X-Mailer: php"; 
      $headers .= "Content-type: text/html\r\n"; 
     $html = '<html> 
    <body> 
    <h2>Result Analysis for Test With Reference Number:'.$reference.'</h2> 
    <br/> 
    <p><b>Personality: '.$personality_mail.'</b></p> 
    <br/> 
    <p><b>MBQ Score: '.$resultTotal.'</b></p> 
    <br/> 
    <ul>'.$analyseData.'</ul> 
    <pre>Mail Sent on '.date("l, F Y H:i:sa").'</pre> 
    </body> 
    </html>';       
    mail("[email protected]", "MBQ TEST ANALYSIS", $html, $headers); 

이것은 작동하지 않습니다. 제발 도와주세요, 나는 여기서 모든 일을 제대로하고 있다고 생각합니다. 나는 HTML없이 테스트 mail

+0

_... 오류가 발생하지 않고 전송됩니다 ... _ 오류가 있습니까? –

+0

왜 송신하지 않는지에 대해서는 아무런 오류도주지 않습니다. – goodhand

+0

아직 답이 없습니다 ... – goodhand

답변

0

당신은 모든 필수 이메일 매개 변수를 $ 헤더를 정의하지만 $header 변수를보고 한 작동하는지 확인, 두 가지가 변경 될 필요가있다

1) 당신이 사용하고있다 $ header와 $ headers는 둘 중 하나를 사용하여 하나의 변수에 추가합니다. 2) $ 헤더 변수의 2 선은 이전 헤더 값을 추가 할 . 누락, 그래서 수정 된 코드는 다음과 같아야합니다

당신은 두번째 줄에 . 연산자를 놓친으로
  $headers = "From: [email protected]\r\n"."X-Mailer: php"; 
     $headers .= "From: $from\r\n"; 
     $headers .= "Content-type: text/html\r\n"; 

, 그것은 From 헤더를 제거하고 이렇게됩니다 그것은 이메일을 보내지 않을 것입니다. 이 줄을 변경 한 후에 시도하십시오.

+0

오 ... 헤더/헤더가 실수 였고 나는 그것을 고치고 메일은 여전히 ​​보내지 않습니다 – goodhand

+0

'localhost'에서 이메일을 보내려고하십니까? –

+0

물론 아닙니다. 내 질문에 cpanel 언급했다. 그것의 호스트에 확실히. mail 함수는 메일 함수 매개 변수에 주어진 헤더가 없을 때 작동합니다. – goodhand