PORADNIK

Jak napisać kod HTML newslettera pod Outlook i innych klientów poczty?

W tym wpisie chciałbym pokazać jak stworzyłem kod HTML newslettera, który prawidłowo wyświetli się we wszystkich klientach poczty, także w Outlook. Dzięki temu poradnikowi będziesz w stanie samemu napisać dowolny szablon HTML dla treści swojego mailingu.

W poprzednim artykule opisywałem jak działa mailing od strony technicznej oraz pokazałem jak samemu stworzyć projekt graficzny newslettera. Zapraszam do przeczytania:

Jak stworzyć responsywny newsletter na wszystkich klientów poczty? (klik)

Jak pisać kod HTML newslettera pod Outlook?

Tworzenie kodu pod Newsletter nie jest proste i pisałem o tym w poprzednim artykule. Większość klientów poczty idzie z duchem czasu i aktualizuje oprogramowanie swoich aplikacji email tak aby prawidłowo odczytywały dzisiejsze wiadomości HTML. Niestety, nie wszyscy idą z duchem czasu i aktualizują oprogramowanie o nowe trendy HTML czy CSS. Problematyczny okazuje się Microsoft i ich aplikacja Outlook.

Outlook ma największe problemy z czytaniem wielu popularnych styli CSS (np. border-radius, zaokrąglenie krawędzi) oraz struktur takich jak div. Co prawda odczyta nam tag <div> ale nie współpracuje dobrze z tą strukturą i często występują problemy. Ponadto pewne rzeczy będą działać na jednej wersji outlook na innej już nie i jest to zależne od wersji aplikacji. Wymusza to na programiście mnóstwo dodatkowych czynności przy pisaniu kodu i testowaniu go. No więc jak to prawidłowo stworzyć?

Najlepszym sposobem jest testowanie na bieżąco. Nie jesteśmy w stanie sprawdzać każdą funkcjonalność, kod, styl czy ma wsparcie w danej aplikacji czy nie. Dlatego najlepiej podczas tworzenia widoku newslettera wysyłać na bieżąco gotowe elementy i sprawdzać jak wyświetlają się w poszczególnych klientach poczty. Newsletter wysłany na aplikacje mailowe może mieć zupełnie inny wygląd niż w przypadku poglądu na przeglądarce. Dopiero po wysłaniu wiadomości okazuje się jak newsletter wygląda jako wiadomość email w danej poczcie i aplikacji.

Newsletter musi być napisany prosto – najlepiej przy pomocy tabel, a style mają być nierozbudowane i należy korzystać z podstawowych funkcjonalności. To zapewni nas, że zbliżymy się do prawidłowego wyglądu na większości klientów poczty.

Tabela w HTML – czym jest i jak jej używać?

Tabela w HTML jest strukturą pozwalającą na pozycjonowanie treści w widoku. Jak w przypadku każdej tabeli mamy do czynienia z wierszami oraz kolumnami. Wewnątrz tabeli możemy układać elementy w pozycjach poziomych i pionowych.

Dlaczego używać tabeli w przypadku newsletterów?

Pozycjonowanie treści w widoku za pomocą tabel daje nam gwarancję, że każda przeglądarka, aplikacja czy urządzenie odczyta ją prawidłowo. W przypadku widoków opartych na strukturze div sytuacja w przypadku mailingu wygląda różnie. Możemy zaryzykować użycie divów w przypadku newslettera i większość klientów poczty odczyta tą strukturę ale jeśli chodzi o style napisane dla divów niestety ale mogą nie działać prawidłowo.

Próby tworzenia układów za pomocą divów kończyły się rozjechanymi układami w przypadku skrzynek pocztowych microsoft (outlook).

Jak używać tabel? 

To na prawdę proste. Co prawda jest dużo bardziej czasochłonne niż używanie zwykłych tagów div, ponieważ zamiast jednego tagu <div></div> musimy użyć 3 tagów:

  1.  <table></table> – tag table jest tagiem tabeli i musi posiadać wewnątrz wiersze oraz kolumny,
  2. <tr></tr> – wiersz tabeli,
  3. <td></td> – kolumna tabeli.

Oczywiście, poza tym prostym układem kryje się dużo więcej tagów czy wartości tabel, których moglibyśmy używać. Są to takie tagi jak np. <thead> odpowiadający nagłówkowi tabeli czy <tfoot> odpowiadający stopce tabeli. Poza tym są funkcje takie jak scalanie kolumn itp. itd. Ale pytanie czy jest nam to wszystko potrzebne? Niekoniecznie. Większość widoków uda nam się stworzyć przy pomocy prostej konstrukcji nested tables czyli zagnieżdżonych tabel.

Na czym polega nested tables?

Tworzymy wewnątrz głównej tabeli kolejne tabele odpowiadające kolejnym elementom naszego widoku (oczywiście jeśli to potrzebne).

Outlook conditional CSS – wyświetlanie tylko w Outlook

Czasem zdarza się tak, że nasz newsletter wyświetla się poprawnie na wszystkich rodzajach klientów poczty a pewien element jest niemożliwy do przerobienia na aplikacje Outlook. Wówczas możemy użyć warunku dodającego pewien element lub styl tylko dla klienta Outlooka.

Przykład warunku:

W tym warunku widzimy jak działa Outlook conditional CSS. Najpierw sprawdzamy czy obecny klient to klient aplikacji outlook – [if mso]. Jeśli tak to dodajemy tabele w której możemy umieścić treść wyświetlającą się tylko dla aplikacji Outlook.

To samo możemy zrobić ze stylem, który może się aplikować tylko dla Outlooka:

Dość teorii przejdźmy do praktyki 🙂

Tworzenie kodu HTML dostosowanego do wysyłki mailowej

We wcześniejszym wpisie stworzyliśmy projekt graficzny i napisaliśmy kod newslettera. Teraz czas omówić jak tworzyliśmy ten kod. Dla przypomnienia wstawię jak wygląda nasz gotowy newsletter:

Jak napisać kod HTML newslettera pod Outlook i innych klientów poczty?

Struktura projektu Newslettera

Poczty internetowe rozwijają się coraz mocniej i dzięki temu technologia w nich jest coraz bardziej aktualna. Dzięki temu możemy stosować w nich prawidłową strukturę HTML w wiadomościach. Kiedyś skrzynki pocztowe automatycznie ucinały sekcję head oraz trzeba było używać inline-styles do stylowania elementów. Dzisiaj możemy spokojnie zastosować strukturę html z head body i stylami w head.

Wklejam strukturę pustego projektu newsletter, którą już pokazywałem w poprzednim artykule:

Jak widzicie jest to podstawowy szablon dla HTML i nie ma tu żadnych niespodzianek. Jest określony DOCTYPE, mamy tag html, wewnątrz sekcję head z meta tagami, tytułem i stylem. Wewnątrz znajduje się tag body, który ma zresetowane marginesy i padding. Potem mamy tag center aby wypośrodkować nasz widok tabeli głównej.

Tabela główna ma stale ustaloną szerokość na 600px width. Ma zresetowane wartości border, cellpadding i cellspacing aby prawidłowo nam się wyświetlała (w niektórych przypadkach z góry są ustawiane pewne wartości dla tych atrybutów i warto je ustawić na sztywno na 0 a w razie potrzeby ustawić jakąś wartość).

Tworzymy header Newslettera

Nasz newsletter składa się z głównego nagłówka obok którego po prawej stronie widnieje logo. Pod spodem znajdują się 4 zakładki odwołujące do odpowiednich stron naszej strony redo-interactive.com. Kod nagłówka wygląda następująco:

Tworzymy dwie oddzielne tabele dla głównego nagłówka i zakładek. Tabele ustawiamy na szerokość 500px. Następnie w inline-styles dodajemy margin: auto, aby marginesy automatycznie dopasowały się i wyświetliły tabele na środku tabeli głównej. Dodajemy również odpowiednie paddingi do naszych tabel.

W tabeli nagłówka tworzymy dwie kolumny jedna na nagłówek druga na logo. Zarówno nagłówek jak i logo linkujemy do strony głównej dodając tag <a href=”” target=”_blank”>. W przypadku głównego nagłówka dajemy nagłówek o najwyższej wartości h1. Później go ostylujemy żeby wyglądał jak najbliżej widoku z makiety. Obraz logo wstawiamy w tagu <img src=””/> i ustawiamy na sztywno wysokość obrazu, którą chcemy uzyskać a szerokość na auto dopasowanie.

Kolejną tabelę zakładek dzielimy na 4 kolumny <td> i w każdej kolumnie dajemy nasze zakładki jako h3 oraz linkujemy za pomocą tagu <a>. Poza tym musimy ustalić pozycję wyświetlania tekstu. Lewa boczna kolumna ma przywierać do lewej krawędzi. Prawa kolumna do prawej, natomiast środkowe do środka. Szerokości kolumn dajemy na auto aby dopasowały się do tekstu.

Sekcja z obrazem

Sekcja z głównym obrazem naszego newslettera posiada górny border oddzielający górny nagłówek od reszty treści. Poza tym wystarczy dodać odpowiedni padding i podlinkować obraz.

Treść główna – zaproszenie do współpracy

Przyszła pora na trochę tekstu. Stylowanie tekstu zostawiamy na koniec, gdzie pokażę Wam jak dodałem style dla nagłówków i innych tekstów znajdujących się w newsletterze. Samą treść dodajemy podobnie jak sekcje z głównym nagłówkiem i obrazem. Czyli tworzymy tabele i wstawiamy odpowiednio treści oraz linkujemy do odpowiednich stron.

W odpowiednich kolumnach centrujemy tekst za pomocą text-align: center i ustawiamy odpowiednie paddingi.

Dodatkowo pojawiła nam się klasa italic. Klasa ta odpowiada ze pochyły tekst i znajduje się w stylach w sekcji head. Dodawana będzie do tekstów z pochyloną czcionką w naszym newsletterze.

Dodajemy również klasę cta-btn do tagu <a> odpowiadającemu przyciskowi Kontakt naszego newslettera. Klasa cta-btn ostyluje nasz link na formę przycisku.

Sekcja reklamowa z obrazami

Kolejna sekcja jest trochę bardziej rozbudowana. Zawiera obrazy oraz teksty, które zmieniają swoje pozycje w dwóch wierszach. Sekcja ta ma również górny border oddzielający sekcję.

Tworzymy tabelę główną naszej sekcji i dodajemy dwa wiersze. W każdym wierszu dodajemy dwie kolumny ustawione na 50% szerokości głównej tabeli. Dodatkowo dajemy padding dla każdej kolumny aby się ze sobą nie stykały i nie przywierały do krawędzi.

W pierwszym wierszu tabeli w pierwszej kolumnie dodajemy obraz z linkiem w formie kwadratu 265x265px. Obraz o tych samych wymiarach dodajemy w drugim wierszu w drugiej kolumnie.

W drugiej kolumnie pierwszego wiersza dodajemy kolejną tabelę, w której będzie treść reklamowa. To samo dodajemy w pierwszej kolumnie drugiego wiersza.

Treść reklamowa w zależności od wiersza jest wypozycjonowana do prawej lub do lewej strony za pomocą text-align: left, text-align: right.

Stopka newslettera

Przechodzimy do stopki naszego newslettera. Nie jest ona rozbudowana więc łatwo będzie stworzyć taki widok.

Stworzymy dwie tabele. Pierwsza tabela będzie zawierać trzy wycentrowane kolumny z obrazami linkującymi do wysłania maila za pomocą odpowiedniego linku kierującego do wysłania maila na dany adres: <a href=”mailto:mail@example.com”> oraz do facebooka i strony redo-interactive.  Dodatkowo dodajemy border oddzielający górę i dół tabeli.

Druga tabela będzie zawierać jedną kolumnę z tekstem w nagłówku h4.

 Styl dostosowany do newslettera na Outlook i inne poczty

Jak pisać styl dostosowany do mailingu? Przede wszystkim trzeba korzystać z prostych styli. Takich, które istnieją już jakiś czas. Nie korzystać z nowych funkcjonalności takich jak np. flexbox czy grid. Jeśli mamy jakąś wątpliwość czy dany styl będzie działał na Outlook bądź innym kliencie należy sprawdzić to na support list np. tutaj: Email Client CSS Support od mailchimp.

Nie będę omawiał stylów, które napisałem. Są to podstawowe style do tekstu i na pewno będą wyświetlać się na wszystkich klientach poczty.

 Newsletter pod Outlook oraz inne aplikacje mailowe – pobierz gotowy kod

W ten sposób napisaliśmy newsletter dostosowany do wszystkich aplikacji mailowych. Jak widać ważne jest aby widok naszego newslettera nie był za bardzo przekombinowany a jednak estetyczny i na tyle ciekawy w treść aby zachęcił naszego odbiorcę. Jeśli przekombinujemy z wyglądem newslettera może być niezwykle ciężko odwzorować projekt na wszystkich klientach poczty.

Zobacz nasz newsletter (klik).

POBIERZ KOD NEWSLETTERA! (klik)