Php - Codificarea corpului mesajelor de e-mail curată în mod fiabil - Depășirea stivei
Scriu o mică bucată de software în PHP care se conectează la o cutie de e-mail IMAP și stochează mesajele conținute într-un MySQL DB pentru procesare ulterioară și alte bunătăți.
Am observat că în timpul testării apar câteva caractere ciudate care apar în corpul mesajului atunci când încerc să salvez corpul mesajului brut. Folosesc imap_fetchbody () pentru a extrage corpul mesajului.
Am observat că atunci când folosesc quoted_printable_decode () pentru a curăța corpul mesajului, acest lucru ajută! Totuși, făcând o mulțime de cercetări, am învățat, de asemenea, că acest lucru nu va ajuta întotdeauna și că ar trebui folosite în schimb alte metode, cum ar fi utf8_encode () și base64_decode (), pentru a curăța corpul mesajului.
Deci, întrebarea mea este: care este cea mai bună metodă pentru curățarea fiabilă a unui mesaj de e-mail cu php pentru a acoperi toate scenariile de codificare?

1 Răspuns 1
Un „corp de e-mail” este în prezent un copac de părți MIME individuale. Uneori există doar una dintre ele, de ex. un text/poștă simplă. Uneori există o multipartă/alternativă care înfășoară în interiorul său două copii „echivalente” ale mesajului, una ca text/simplu și alta ca text/html. Uneori structura este mult mai complicată, cu multe niveluri de cuibărit. Este destul de obișnuit ca unele dintre aceste părți să fie de fapt conținut binar, cum ar fi imagini, fișiere ZIP atașate și ce nu.