Trimiterea de e-mailuri folosind PHP
Caracteristici comune
Mai devreme sau mai târziu, fiecare proprietar de site se confruntă cu nevoia de a trimite scrisori direct de pe site prin script, și nu prin programe de e-mail. Acestea pot fi scrisori trimise de scenariul cărții de oaspeți, spunând proprietarului site-ului că are un nou mesaj în cartea de oaspeți sau într-un forum, pentru ai avertiza de o nouă întrebare.
În toate aceste cazuri, este necesar să trimiteți automat scrisori care ocolește o varietate de programe și utilitare de e-mail. Puteți face acest lucru folosind funcția mail (). pe care o vom studia acum.
Sintaxa funcției mail () este:
Mesajul propriu-zis poate fi multi-linie. Pentru a merge la o linie nouă, puneți un rând nou "\ n" la sfârșitul fiecărui rând.
Sau același lucru poate fi scris astfel:
În al patrulea set de parametri opțional $ header, puteți specifica anteturile mesajului nostru.
Pentru a face mai clar, ce sunt titlurile, iar în cazul în care acestea sunt în scrisoarea, deschide clientul de e-mail si uita-te la orice mesaj, în forma în care a venit (pentru Outlook puteți face acest lucru făcând clic pe butonul din dreapta al mouse-ului pe Message> Proprietăți-> Detalii-> Mesaj original).
După cum se poate vedea, litera reprezintă un fișier text simplu, care constă din două secțiuni generale: în partea de sus sunt anteturile literei, apoi litera trece prin două linii.
Există o mulțime de anteturi de litere, dar nu toate sunt folosite atunci când scrieți scriptul de trimitere a poștei.
Iată câteva dintre cele mai frecvent utilizate:
Soluția problemei codificărilor
Nu am spus în zadar exemplul trimiterii unei scrisori cu cuvintele din alfabetul latin. Orice client de e-mail va citi fără dificultate. Dar cu alfabetul rus este mult mai dificil. Există o mulțime de codificări rusești. Și cum pricepere vă perekodiruete scrisoarea va depinde de faptul dacă destinatarul a citit-o, sau nu va mizerie în jurul cu instalarea codificării necesare și doar l ștergeți în coș.
Codificarea mesajului este specificată de antetul tipului de conținut.
În antet, am indicat că tipul de mesaj ar fi text simplu, iar codificarea ar fi Windows.
Acum, scrisoarea noastră va veni într-o codificare inteligibilă pentru clientul de e-mail.
Dar este demn de remarcat faptul că, în unele cazuri, doar codul va fi afișat în codarea corectă. Titlul va rămâne necitit. Aceasta se referă la locul în care se află antetul de tip Content în raport cu antetul Subiect. care conține subiectul scrisorii. Faptul este că există programe de poștă electronică care înțeleg antetul tipului de conținut. dar nu înțeleg textul rusesc în câmpul Subiect. dacă acest câmp este setat la tipul de conținut. În același timp, alte programe de e-mail ne obligă să specificăm tipul de conținut ca ultimul titlu din listă. Pentru a depăși aceste obstacole, puteți plasa imediat câmpul Tip de conținut la începutul și la sfârșitul listei de antet:
Acum, această scrisoare va fi citită de orice program de poștă electronică!
Antetele care nu conțin caractere ACSII trebuie să fie codificate cu codare base64 sau mime, trebuie să o faceți într-un mod special - de exemplu pentru utf8 cum ar fi:
Pentru Windows-1251, aveți nevoie de "windows-1251" în loc de utf-8
Trimiterea unui mesaj în formatul HTML
Pentru a trimite un mesaj în HTML, este suficient să precizați în antetul tipului de conținut tipul de document nu este text / simplu (text simplu), ci text / html (html-text).
Și scrisoarea în sine este scrisă în formularul html: