我有這樣的代碼通過PHP發送電子郵件:HTML電子郵件發送純文本與PHP
// Prepare email.
$headers = "From: Mi9 Vault <[email protected]>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=ISO-8859-1";
$msg = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/edm/confirmation.html');
$msg = str_replace('{first_name}', $contact["First Name"], $msg);
// Send email
mail($contact["Email Address"], "Your Mi9 Registration is Confirmed", $msg, $headers);
confirmation.html
是,我們已經建立了一個HTML電子郵件。
我從來沒有遇到任何上述用於發送電子郵件的PHP代碼的麻煩,但我似乎可以得到的是一個包含所有HTML而不是實際的HTML格式電子郵件的電子郵件。
基本上我收到一封電子郵件,以此爲內容:
MIME-Version: 1.0
Content-type: text/html; charset=ISO-8859-1
Message-Id: <[email protected]>
Date: Wed, 18 Apr 2012 01:03:25 -0700 (PDT)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
.....
我在其他網站上使用相同的主機相同的PHP代碼,它工作正常...
我以前遇到過這個問題,並通過玩弄'\ r \ n'來解決它。您可能想嘗試Dante的解決方案。 – 2012-04-18 08:18:31
實際上,內聯HTML只能用於非常不嚴格(不合規)的用戶代理。如果您已經在ehaders中修復了換行符問題,您可能會根據需要在電子郵件客戶端中顯示此內容,但您應該使用7位傳輸編碼,並且應該將html標記爲mime內嵌內容 – symcbean 2012-04-18 12:30:04