2009-12-30 26 views
1

我似乎無法獲得多個使用php的郵件的css類,我已經獲得了內聯樣式,但是當我嘗試將類與元素關聯時,它是不可行的。還有其他的選擇可能比php的郵件更好。 是的,這些類是本地的,而不是來自外部樣式表。PHP郵件和多個CSS類不工作?

只有一個班會顯示出兩個指定的,它總是第一個。

如果我把class =「class1 class2」class1顯示出來,如果我把class =「class2 class1」class 2顯示出來。

發生了什麼事?

這是我的測試郵件。

$msg = ' 
     <html> 
     <head> 
     <style type="text/css"> 
     .class1{background-color:red;} 
     .class2{color:blue;} 
     </style> 
     </head> 
     <body> 
     <div class="class2 class1">this is a test</div> 
     </body> 
     </html>'; 

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

     @mail($to, $sub, $msg, $headers); 
+0

PHP的郵件與您的問題無關。更詳細地解釋你如何格式化你的電子郵件。請注意,內聯CSS更適合郵件... – 2009-12-30 17:58:10

+0

它最終成爲Outlook 2007,它不喜歡每個元素有多個類。 – payling 2009-12-30 18:21:18

回答

3

PHP mail()函數只是發送你給它的文本。您可以通過查看電子郵件客戶端應用程序中電子郵件的原始來源來檢查它是否正常工作。如果它在那裏,那麼郵件功能正在工作(如果它不起作用,我會感到震驚)。

您的問題可能是您的郵件客戶端不支持您的CSS。郵件客戶端通常只處理非常簡單的樣式,因此您可能需要重新考慮您的電子郵件佈局。

+3

+1電子郵件中的CSS只能內聯使用,並且從不在頭部聲明(許多客戶端剝離此部分),也不應將其鏈接到外部。它使得混亂和多餘的標記,但這就是它如何去... – 2009-12-30 18:12:48

+0

良好的通話,我只是發送測試消息到我的webmail而不是outlook,並沒有任何格式化... ... – payling 2009-12-30 18:18:14