Przez długi czas ja też próbowałem wymyślić, jak wysłać e-mailem biuletyn HTML. Próbowałem prawie na każdy sposób, aby go wysłać. Jednym ze sposobów było zapisanie strony html, a następnie dołączenie jej jako pliku html do wiadomości e-mail. Próbowałem po prostu skopiować kod źródłowy pliku html i wysłać go. Próbowałem nawet zapisać stronę jako plik e-mail, który też nie działał. Po wypróbowaniu kilku kolejnych pomysłów zdecydowałem, że najlepiej jest używać zwykłego tekstu, dopóki nie będę w stanie dowiedzieć się, jak wysłać go poprawnie.
Na szczęście, chociaż udało mi się dowiedzieć, jak w końcu wysłać biuletyn HTML przez e-mail. Pracowałem nad formularzem komentarzy do e-maili z ColdFusion, językiem programowania stron internetowych, jedną z funkcji obejmujących wysyłanie danych w formacie HTML. Pomyślałem, dlaczego nie spróbować, może po prostu działać. Więc skopiowałem kod strony HTML, a następnie wysłałem do niej e-mailem i voila.
Samouczki HTML Web Design: Wyślij e-mail za pomocą formularza internetowego 27
Ale czy naprawdę to rozgryzłem? W kodzie musi być coś jeszcze, co dodał ColdFusion, co pozwoliło poprawnie wyświetlać biuletyn. Spojrzałem na kod HTML wiadomości e-mail i nie było nic innego na temat tego e-maila. Był to ten sam kod co wszystkie inne biuletyny HTML, które wypróbowałem i przetestowałem w przeszłości. Tyle że ten był wyświetlany poprawnie, a inni nie. Dziwny. Dlaczego biuletyn nie działał, gdy próbowałem go skopiować, wkleić i wysłać e-mailem. Jest to ten sam e-mail i ten sam kod, więc powinien działać równie dobrze. Coś brakowało.
Kilka dni później wróciłem, by spojrzeć na kod wiadomości e-mail, myśląc, że może coś przeoczyłem. Kod źródłowy był wciąż taki sam, nic się nie zmieniło. Więc co to może być? To wtedy natknąłem się na małą linię, która zmieni wszystko.
Linia, o której mówię, to typ zawartości, który jest częścią pliku nagłówkowego każdego e-maila. Czytałem o typie treści, ale większość dotyczyła stron internetowych XHTML. Po kilku badaniach odkryłem, co odkryłem:
Każda wiadomość e-mail ma właściwość o nazwie :Content-Type::, która identyfikuje typ treści zawarty w tej wiadomości e-mail. E-maile, które Ty, ja i wszyscy zwykle wysyłasz, to głównie tekst. Dokładny tekst. Dlatego kiedy próbowałem skopiować i przeszłość kodu źródłowego html w przeszłości, pojawił się on tylko jako HTML.
Kiedy zobaczyłem typ zawartości dla wiadomości tekstowych, było:
Typ treści: tekst / zwykły;
Kiedy zobaczyłem typ zawartości dla e-maili HTML, które wyświetlały się bardzo ładnie, było:
Typ zawartości; text / html;
ŁAŁ. Chodzi mi o to, że nie mogłem uwierzyć, że po tak długim czasie ta jedna mała linia powstrzymała mnie i prawdopodobnie niezliczona ilość osób od wysyłania e-maili HTML.
Ale w jaki sposób oznaczyłbyś swój e-mail jako html?
To zależy od tego, jak je wysyłasz.
Jeśli planujesz wysłać swój e-mailowy biuletyn w formacie HTML za pomocą internetowego języka programowania, takiego jak Cold Fusion, możesz użyć funkcji cfmail';s type = :HTML:, która automatycznie ustawi Content-Type na text / html i wyświetli e-mail jako HTML Biuletyn.
Jeśli planujesz wysłać go za pomocą ASP.NET, poniższa linia powinna je wyczyścić:
YourMessageName.BodyFormat = MailFormat.Html
Lub jeśli planujesz używać PHP, powinno to wyglądać mniej więcej tak
:Do: Nazwa Odbiorcy n: .
:From: The Senders Name n: .
:Wersja MIME: 1.0n: .
:Typ zawartości: text / html; charset = UTF-8:);
Większość, jeśli nie wszystkie języki programowania zawierają funkcję, która pozwala na wysyłanie danych html.
Wskazówka: Upewnij się, że kod lub oprogramowanie używane do wysyłania wiadomości e-mail ma obsługę MIME, która umożliwia wysyłanie wiadomości e-mail innych niż tekstowe, HTML etx.
Teraz znasz sekret. To nie kod, to typ zawartości e-maila, który decyduje o wyświetlaniu biuletynu e-mail w formacie HTML. Teraz, gdy wiesz, jak wysyłać wiadomości w formacie HTML, sprawdź swoje biuletyny za pomocą różnych kont e-mail (Yahoo, Hotmail, Google, etx). Każdy z nich ma tendencję do wyświetlania HTML w inny sposób. Testuj, testuj i ponawiaj test.
Happy HTML Emailing!