0
我使用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.";
電子郵件發送完美。
如果我的HTML包含在$body
只是一個有效的CSS頁面,並且沒有Javascript或任何東西,爲什麼不發送電子郵件?
是否有另一種方法可以做到這一點?請幫忙!!
var_dump($ body)。它可能已經被重置了一半(不知道包含什麼內容)。 –
好主意!我可以把它放在哪裏,看看發生了什麼? – adamdehaven
是否引發任何異常?如果是這樣,那麼這條消息會說什麼? – scriptin