Home » Articole » Articole » Calculatoare » Dezvoltarea web » HTML » Mesaje email în format HTML

Mesaje email în format HTML

Buletin informativ

Pentru a îmbunătăți aspectul mesajelor noastre și pentru a încorpora elemente precum culori și imagini, putem adăuga HTML în mesajul nostru. Putem face acest lucru inserând încă două linii în antet care specifică acest lucru:

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

Declararea versiunii tipului MIME și a tipului de conținut text/html ne permite să includem HTML în mesajul nostru. În acest moment, putem edita șirul mesajului nostru pentru a include etichete HTML. Întrucât este încă un șir PHP, putem include variabile și concatena rezultatele funcțiilor la fel cum putem face și în alte șiruri, permițându-ne să creăm mesaje care includ conținut specific utilizatorului sau destinatarului:

$message = "<table width=20%'><tr><td>First:</td><td>Jose</td></tr>
<tr><td>Last:</td><td>Jalapeno</td></tr></table>";

Acum i-am trimis utilizatorului nostru niște informații formatate într-un tabel. Deși putem include mult HTML într-un mesaj, rețineți că utilizatorii dvs. le vor vizualiza pe o serie de dispozitive diferite și prin programe diferite. Cu cât conținutul este mai complex, cu atât este mai probabil ca utilizatorul dvs. să nu îl vadă așa cum intenționați.

De fapt, cele mai bune practici pentru e-mailurile HTML sunt includerea conținutului formatat pentru clienții de e-mail care acceptă doar text sau ca o soluție de rezervă atunci când altceva nu merge bine. Pentru a face acest lucru, trebuie să adăugăm încă câteva linii de cod pentru a specifica ce părți ale mesajului nostru aparțin versiunii HTML și ce părți aparțin versiunii text. O parte a acestui proces implică crearea unui indicator care specifică unde încep și se termină secțiunile. Pentru a face acest lucru, avem nevoie de un șir unic – suficient de unic încât să nu fie niciodată o parte intenționată a mesajului nostru. O modalitate ușoară de a face acest lucru este să folosim funcțiile md5 și time pentru a genera șirul nostru. Aceasta nu înseamnă că ne-am criptat mesajul. Utilizarea md5 ne ajută pur și simplu să generăm un șir lung, aleatoriu:

$divider = md5((date('r', time()));

De asemenea, trebuie să edităm linia de antet pentru a anunța că mesajul nostru este multipart și nu doar HTML:

$headers .= "MIME-Version: 1.0\r\n";
$headers .= " Content-Type: multipart/alternative; 
boundary=\"PHP-alt-".$random_hash; charset=ISO-8859-1\r\n";

Acum vom adăuga $divider unde începe mesajul nostru, unde revenim de la HTML la text și apoi la sfârșitul secțiunii noastre de text. Ori de câte ori începem o secțiune nouă, trebuie să specificăm ce format MIME folosim. Acest lucru ne permite să combinăm și să potrivim mai multe lucruri, chiar și text, HTML și atașamente, toate într-un singur mesaj. Deoarece lucrurile devin puțin mai complexe, vom introduce un nou concept, buffering de ieșire, pentru a păstra lucrurile mai curate.

Buffering de ieșire ne permite să „oprim” afișarea oricărui lucru pe ecran sau în browser. Folosind buffer-ul, putem crea secțiuni mai mari de text pentru a le utiliza în altă parte. Când am terminat, vom stoca conținutul buffer-ului în variabila mesajului nostru.

<?php ob_start(); ?>
—PHP-alt-<?php echo $divider; ?>
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

<table width=20%'><tr><td>First:</td><td>Jose</td></tr>
<tr><td>Last:</td><td>Jalapeno</td></tr></table>

—PHP-alt-<?php echo $divider; ?>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

First: Jose
Last: Jalapeno

—PHP-alt-<?php echo $divider; —
$message = ob_get_clean(); ?>

Veți observa că am închis etichetele PHP după pornirea bufferului de ieșire. Aceasta înseamnă că tot ce urmează va fi tratat ca HTML pentru a fi redat, așa că trebuie să deschidem și să închidem în continuare etichetele PHP atunci când dorim să inserăm conținut dinamic în mesajul nostru. După ce am terminat cu mesajul/mesajele noastre, folosim funcția ob_get_clean() pentru a descărca conținutul bufferului în variabila mesajului nostru. Această acțiune închide sau șterge, de asemenea, bufferul pe care îl foloseam. Acum avem un e-mail care acceptă o versiune HTML și text simplu a mesajului nostru. Pentru a adăuga un atașament, am adăuga încă o secțiune de tip MIME care denumește formatul de fișier pe care dorim să-l atașăm, apoi am include în conținutul bufferului nostru conținutul fișierului. Deoarece nu putem plasa fișierul propriu-zis în codul nostru, trebuie să-l codificăm. Putem rezolva toate acestea adăugând câteva linii suplimentare la începutul secțiunii noastre pentru atașament.

—PHP-mixed-<?php echo $division; ?>
Content-Type: application/zip; name="ourFile.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment

<?php echo $attachment; ?>
—PHP-mixed-<?php echo $division; ?>—

Când trimiteți atașamente, trebuie să țineți cont de dimensiunea fișierului (fișierelor) pe care le atașați. Doar pentru că serverul dvs. este capabil să proceseze și să trimită fișierul nu înseamnă că serverul destinatarului îl va putea accepta. E-mailurile cu atașamente ar trebui să fie însoțite și de un corp al mesajului. Dacă nu există text în corpul e-mailului, clientul de e-mail al destinatarului poate alege să trateze atașamentul ca și corp al mesajului.

Sursa: Michael Mendez, The Missing Link – An Introduction to Web Development and Programming (CC BY-NC-SA 3.0 License), Published by Open SUNY Textbooks, Milne Library (IITG PI), State University of New York at Geneseo. Traducere de Nicolae Sfetcu

Ghid WordPress pentru dezvoltatori
Ghid WordPress pentru dezvoltatori

Resursa esențială care te va ghida pas cu pas în lumea complexă a platformei WordPress.

Nu a fost votat 18.33 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Ghid WordPress pentru începători
Ghid WordPress pentru începători

Descoperă arta gestionării site-urilor web cu WordPress!

Nu a fost votat Interval de prețuri: 13.74 lei până la 25.18 lei Citește mai mult
Proiectarea, dezvoltarea şi întreţinerea siturilor web
Proiectarea, dezvoltarea şi întreţinerea siturilor web

Ghidul complet pentru proiectarea, dezvoltarea și întreținerea siturilor web, o resursă indispensabilă

Nu a fost votat Interval de prețuri: 13.74 lei până la 54.99 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.


Descoperă mai multe la MultiMedia

Abonează-te ca să primești ultimele articole prin email.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *