php
2011-04-18 47 views 1 likes 
1

可能重複:
Php mail: how to send html?
formatting email in php?發送電子郵件與樣式和格式

我使用PHP來發送電子郵件,就像這樣:

$to = $emailAddress; 
    $subject = "qwerty"; 
    $message = "foo" . PHP_EOL . "bar";       
    $headers = 'From: "asdf" <[email protected]>';  
    mail($to, $subject, $message, $headers); 

當我試圖把HTML代碼放在混亂中年齡,它只是將實際的HTML發送爲純文本。這導致我問 - 我如何格式化電子郵件,因爲我可以格式化網頁?

+0

請參閱PHP手冊中的[mail()'](http://php.net/manual/en/function.mail.php#example-2843)示例#4。 – Marcel 2011-04-18 05:03:53

回答

4

確保你設置你的標題爲text/html的,就像這樣:

// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

Example #4的PHP手冊中的完整的例子。

0

我建議不要重新發明車輪。而是使用phpmailer class或類似的東西。將解決許多其他即將到來的問題,以及:)

1

添加樣式到您的電子郵件,你首先需要添加一個標題所提到的jmort253,就像這樣:

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

一旦你已經加入這個你頭。您可以在實際的消息在做造型,即:

$message = "<html><body><h1>Welcome</h1><p>Thanks for the email</p></body></html>"; 

確保你做內聯CSS或把它的頭,不要把它放在一個外部CSS文件。至於圖片,您需要包含完整路徑到您的服務器,以便客戶端郵件應用程序可以在網絡上找到圖片。

希望這會有所幫助。

+1

關於將CSS內聯的好處。這是其中內聯CSS實際上是最好的方式之一:) – jmort253 2011-04-18 06:20:21

+0

@ jmort253 - 謝謝。 – denislexic 2011-04-18 17:53:04

相關問題