Trimiterea de email-uri folosind atașament php-fișier, php
Un e-mail care conține un atașament este ușor diferit de simplu.
Aceasta adaugă unele antete, și o construcție ușor diferită în sine,
deși, fără îndoială, scrisoarea în sine este un fișier text. Dar să toate în ordine.
Una dintre caracteristicile - prezența header-mime versiune.
Acest antet indică standardul la care corpul mesajului.
Mesajele mime necesare pentru a conține un câmp de antet cu următorul text corespunzător:
mime-versiune: 1.0
Dacă vrem să trimiteți un e-mail cu atașamente, trebuie să utilizați antetul Content-Type: multipart / mixt, ceea ce înseamnă că scrisoarea este alcătuită din mai multe părți, fiecare dintre ele conținând propriul antet tip de conținut. Pentru a indica limitele acestor piese trebuie să fie utilizate parametru limită, care este, de asemenea, numit un chenar marcator.
Valoarea acestui parametru poate fi orice șir de caractere. Dar trebuie să ținem cont de faptul că acesta trebuie să fie unic și nu a fost găsit în corpul e-mailului. În caz contrar, scrisoarea nu poate fi defalcate în mod corespunzător în părți.
de la: "Evgeny uspenskii"
la: [email protected]
Subiect: salut
mime-versiune: 1.0
Tip de conținut: multipart / mixt; = limita "spravkaweb-12345"
În separarea literelor de pe partea din față a mărcii cratime marcator două trebuie să stea.
Un ultim marker care indică sfârșitul scrierii, trebuie să conțină două cratime în placa de capăt.
Pentru fiecare parte, trebuie să instalați titlul.
După antetul care aveți nevoie pentru a pune două linii noi.
de la: "Evgeny uspenskii"
la: [email protected]
Subiect: salut
mime-versiune: 1.0
Tip de conținut: multipart / mixt; = limita "spravkaweb-12345"
--spravkaweb-1234
Conținutul-tip: text / plain; charset = "Windows-1251"
conținut de transfer de codificare: text tipăribil
hi!
aici e că dosarul meu!
--spravkaweb-1234
Conținutul de tip: application / x-.rar comprimat; name = "file.rar"
conținut-transfer de codificare: base64
Content-Disposition: atașament
Dacă facem parte din text, este necesar antetul Content-Transfer-codificare pentru a atribui o valoare citat-imprimabile, 7bit sau, sau 8bit. Pentru această parte a antetul fișierului trebuie să fie egală cu base64.
Titlul de conținut-dispoziție, este prezent în a doua parte, se arată modul în care programul de e-mail pe care doriți să se afișeze această bucată de scris. Se poate lua valoarea atașament (acest site nu este parte a scrisorii, ci pur și simplu atașat la acesta într-un fișier) și inline (a căror includere este utilizat în mod direct în scrisoarea, de exemplu, o imagine pe care este introdus în html).
Prima parte a titlului
Conținutul-tip: text / plain; charset = "Windows-1251"
Acesta a indicat că acesta este un simplu ferestre de codificare de text.
În a doua parte a titlului
Conținutul de tip: application / x-.rar comprimat; name = "file.rar"
a indicat faptul că tipul de fișier - arhiva RAR-și numele de fișier - file.rar.
Dacă trimiteți GIF-imagine, sa tip de conținut ar arăta:
Tip de conținut: image / gif; name = "file.gif"
În cazul în care nu se cunoaște dinainte ce tip de fișier este trimis, sau formatul de fișier nu este standard, ar trebui să fie de tip de conținut antet atribuie o valoare application / octet-stream.
Tip de conținut: application / octet-stream; name = "file.dat"
Fișierele atașate trebuie să fie plasate într-o scrisoare în format base64.
Conversia fișier în acest format, puteți utiliza funcția base64_encode ():
// Deschideți fișierul pentru citire în format binar
$ file = fopen ( "file.zip", "rb");
// citit-o într-un șir de caractere $ str_file
$ Str_file = fread (fișier $, Filesize ( "file.zip"));
// Transformarea șirul în base64 format
$ Str_file = base64_encode ($ str_file);
Acum $ str_file variabilă, care conține un fișier care poate fi introdus într-o scrisoare.