2015-01-07 1 views
0

isHTML이 이미 True로 설정되어 있습니다. 그러나 그것은 내가받는 이메일에서 작동하지 않습니다. 난 그냥 튜토리얼에서 샘플 HTML을 얻을.PHPMAILER, IsHTML이 이미 true로 설정되었습니다.

<?php 
    require("phpmailertest/class.phpmailer.php"); 
    $x=$_SESSION['items']; 
     $mail = new PHPMailer(); 
     $mail->IsSMTP(); // set mailer to use SMTP 
     // $mail->SMTPDebug = 2; 
     $mail->From = "[email protected]"; 
     $mail->FromName = "BravoTech Solutions"; 
     $mail->Host = "smtp.gmail.com"; // specif smtp server 
     $mail->SMTPSecure= "ssl"; // Used instead of TLS when only POP mail is selected 
     $mail->Port = 465; // Used instead of 587 when only POP mail is selected 
     $mail->SMTPAuth = true; 
     $mail->Username = "[email protected]"; // SMTP username 
     $mail->Password = "Ichthys030313!"; // SMTP password 
     $mail->AddAddress($_SESSION['email_address']); 
     $mail->IsHTML(true); 

     $mail->Subject = "Mail Test"; 

     $mail->Body = '<html><body>'; 
     $mail->Body = '<table style="border-color: #eee;"'; 
     $mail->Body = '<tr> 
          <td>JALOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 
          <td>OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 
         <tr> 
          <td>BENEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDICT 
          <td>PAYOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOT 
        </table>'; 

     $mail->WordWrap = 50; 

     if(!$mail->Send()) { 

     echo 'Message was not sent.'; 
      session_destroy(); 
     echo 'Mailer error: ' . $mail->ErrorInfo; 

     } else { 

     echo 'Message has been sent.'; 

     } 
    ?> 
+0

$ mail-> MsgHTML이 아닌 $ mail-> Body를 설정해야합니다. – bumperbox

답변

0

나는 (내가 틀렸다면 정정 해줘) 확실하지 않다하지만 난 항상 이런 식으로 몸을 설정했다 : 값 당신에게 수동으로

$mail->MsgHTML($body); 
+0

반드시 그렇지는 않습니다 - 내 대답을 참조하십시오. – Synchro

+0

그는 자습서에서 메시지를 받았다고 말했지만,이 경우 마지막 $ mail-> Body를 사용해야하고 꽤 귀엽다. – violator667

1

당신은 Body (및 AltBody)을 설정할 수 있습니다 처럼. msgHTML()은 그 중 일부를 설정하고 필요에 따라 HTML을 텍스트로 변환하여 일반 텍스트 버전을 생성하는 편리한 기능입니다. 또한 isHTML을 설정하고 이미지 URL 및 기타 여러 가지 내용을 다시 작성하지만 사용하지 않아도됩니다. 코드에서

당신은 말을하는지 :

$mail->Body = '<html><body>'; 
$mail->Body = '<table style="border-color: #eee;"'; 
$mail->Body = '<tr>... 

이되어야하는 :

$mail->Body = '<html><body>'; 
$mail->Body .= '<table style="border-color: #eee;"'; 
$mail->Body .= '<tr>... 

을, 그렇지 않으면 당신은 단지 Body마다의 내용을 덮어 쓰는 것입니다.

코드는 the gmail example bundled with PHPMailer에 있어야합니다. 다른 곳의 오래된 코드를 사용하고있는 것처럼 보입니다.

+0

감사합니다. 이미 효과가 있습니다. 내 문제는 이제

+0

"작동하지 않는 것"보다 구체적이어야하며 다른 질문이있는 경우 (전자 메일에 CSS가있을 수 있음) 별도의 질문을해야합니다. – Synchro

관련 문제