2014-07-01 46 views
0

我剛開始使用PHPMailer,我不能讓我的HTML電子郵件發送和正確呈現。我可以讓他們發送罰款,但當我添加isHTML(true)方法電子郵件根本不發送。有什麼我需要在HTML電子郵件或佈局中加入不同的內容。PHPMailer不發送電子郵件,如果isHTML(true)

下面是HTML電子郵件:

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
</head> 
<body> 
    <h1>This is a test email</h1> 
    <p>Congratulations, {NAME}</p> 
    <p>You have won {PRIZE}</p> 
    <img src="{DOMAIN}assets/images/generated_barcodes/actual-000000013.png" alt="Barcode"> 
</body> 
</html> 

這裏是一個方法我用它來發送電子郵件的序列:

$this->_mail = new PHPMailer(); 
$this->_mail->From = FROM_EMAIL; 
$this->_mail->FromName = FROM_EMAIL_NAME; 
$this->_mail->addAddress($email); 
$this->_mail->Subject = $subject; 
$this->_mail->Body = $body; 
$this->_mail->isHTML(true); 

$this->_mail->send() 

只是爲了澄清這個電子郵件發送的罰款,如果我註釋掉isHTML (true)方法,但它顯然不會呈現HTML。

預先感謝您!

編輯

好像我不得不使用$此 - > _ MAIL-> msgHTML($身體,DOMAIN);方法來加載我的HTML。但現在我有一個新問題。電子郵件發送,但不在AJAX請求中。當我用AJAX發佈一些數據時,我需要它發送電子郵件。

+2

你不需要大寫'Is'嗎? – TylerH

+0

「不發送」是什麼意思?有沒有錯誤?也可以嘗試設置'$ this - > _ mail-> AltBody'(如果我沒有記錯的話) – ex3v

+0

也許你在設置isHtml之前添加Body內容我錯了http://stackoverflow.com/questions/11140263/phpmailer-發送HTML代碼,因爲TylerH說可能無法正常工作,因爲你有我的小寫字母而不是大寫字母I – Chris

回答

3

您應該將Is的大小寫爲$this->_mail->IsHTML(true);

+0

不太清楚爲什麼這會產生任何影響 - PHP對函數/方法名稱不區分大小寫。 – Synchro

+0

對不起,我不認爲這是問題,似乎我有點過早接受答案。似乎這沒有解決我的問題。儘管一封電子郵件確實發送了,但他們似乎又停了下來。 –

+0

使用這個似乎已經解決了它$ this - > _ mail-> msgHTML($ body,DOMAIN); –

相關問題