PHPMailer을 사용하여 HTML 이메일을 보냅니다. 처음에는 ob_start
을 호출 한 후 HTML 및 PHP 변수를 사용하여 전자 메일의 HTML 본문을 설정했습니다. 어떤 이유이메일을 보내지 않는 PHPMailer - 간단한 것을 누락 되었습니까?
<?php
ob_start();
?>
..... a bunch of VALID HTML
<?
$body = ob_get_contents();
require_once('class.phpmailer.php');
// Send to Me
$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch
$mail->IsSendmail(); // telling the class to use SendMail transport
try {
$mail->AddReplyTo('[email protected]', 'Company Name');
$mail->AddAddress('[email protected]', 'My Name');
$mail->SetFrom('[email protected]', 'Company Name');
$mail->Subject = "Contact Form Confirmation";
$mail->AltBody = "This is a contact form submitted through the main website.";
$mail->WordWrap = 50; // set word wrap
$mail->Body = $body;
$mail->IsHTML(true); // send as HTML
$mail->Send(); // Try to send email
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
// end try
,이 라인 :
$mail->Body = $body;
보낼 수 없습니다 이메일을 야기
여기 내 코드입니다. 내가 다음과 같이 교체하면 :
$mail->Body = "This is a test email.";
이메일이 완벽하게 전송됩니다.
$body
에 포함 된 HTML이 머리에 CSS가있는 유효한 HTML 페이지이고 자바 스크립트 등이없는 경우 전자 메일을 보내지 않는 이유는 무엇입니까?
다른 방법이 있습니까? 도와주세요!!
var_dump ($ body). 그것의 중간에 재설정되었을 수도 있습니다 (포함 된 내용을 알려주지 않음). –
좋은 아이디어 !! 무슨 일이 일어나는지보기 위해 어디에서 그걸 넣을 수 있을까요 ?? – adamdehaven
예외가 발생하고 있습니까? 그렇다면 메시지는 무엇을 말합니까? – scriptin