2012-03-27 12 views
5

Chcę stylizować treść wiadomości e-mail. Próbowałem poniższych metod, aby ukształtować treść wiadomości. Ale wszystkie z nich nie działaJak stylizować treść wiadomości e-mail w php

1) Używane styl zewnętrzny arkusz style.css

td{padding:10px;} 

mail.php

<link rel="stylesheet" href="style.css"></link><table><td>....</td></table> 

2) Zdefiniowana wewnętrzny arkusz stylów:

mail.php

<style type="text/css"> 
td{ 
    padding-bottom:8px; 
} 

</style> 
<table><td>....</td></table> 

wiem, styl Inline działa wykonując <td style='padding-bottom:8px'>, ale mam wiele tabel, robi styl inline nie jest dobry pomysł, czy istnieje obejście, tak że nie ma potrzeby, aby zdefiniować styl dla każdego elementu

+1

Klienci poczty e-mail są bardzo, bardzo wybredni, o tym, jakie rzeczy CSS będą i nie będą renderować. Najlepszym rozwiązaniem jest znalezienie wyczerpującego przewodnika na temat stylizacji e-maili (chciałbym móc wymyślić link z mojej głowy, ale nie mogę). – Corbin

+1

Nie mogłem go znaleźć. Odkryłem, że autonomiczni klienci poczty e-mail mają paranoję na temat bezpieczeństwa, ale co najmniej renderują większość kodu HTML. Szalone rzeczy są wtedy, gdy próbujesz wspierać darmowych dostawców. Gmail usuwa obrazy tła, ale pozostawia kolory. Usługa Hotmail zmienia kolor tła na szary. Yahoo robi coś innego. Sprawia, że ​​chcę wysłać wiadomość tekstową w formacie zwykłego tekstu, która mówi "skopiuj ten adres URL do przeglądarki". – ghoti

+0

starsze wersje programu outlook zignorują większość css, a nowoczesne css positining .. –

Odpowiedz

7

dla wiadomości e-mail, zazwyczaj najbezpieczniejszym rodzajem jest styl tabel i linii (Wszystko, czego nie powinieneś robić w projektowaniu stron internetowych).

$mailBody = '<html><body>'; 
$mailBody .='<table width="100%"><tr>'; 
$mailBody .='<td style="padding:10px"></td>'; 
$mailBody .='<td style="padding:10px"></td>'; 
$mailBody .='<td style="padding:10px"></td>'; 
$mailBody .='</tr></table>'; 
$mailBody .='</body></html>'; 

Niestety, wewnętrzne i zewnętrzne arkusze stylów nie zawsze działają na różnych klientach poczty e-mail.

+1

czy to nadal prawda? – Roy

2

Zazwyczaj tabele są do zrobienia. Niestety, aby uzyskać najbardziej rozpowszechnioną obsługę, musisz używać stylów wbudowanych. Dużo kaskadowo, więc nie musisz stylizować każdego elementu. Na przykład użycie elementu font-family na elemencie table spowoduje zastosowanie go do elementów td.

Campaign Monitor zapewnia użyteczny przegląd wsparcie dla CSS w poprzek najczęstszych klientów poczty tutaj http://www.campaignmonitor.com/css/

email boilerplate (http://htmlemailboilerplate.com/) również dostarczyć szablon z którego można uruchomić i będzie ona nauczy Cię, jak aby uniknąć wielu typowych niedociągnięć wielu klientów poczty e-mail.