Ik ben benieuwd of iemand mij in Jip en Janneke taal kan uitleggen wat "Content-Transfer-Encoding" inhoudt. Ik ben ermee aan het experimenteren, maar ik begrijp niet goed waar het voor dient. Van de uitleg op internet word ik helaas ook niet veel wijzer, want die is me veel te technisch en snap ik niet.

Als ik vanaf mijn server een mail verstuur dan kan ik "Content-Transfer-Encoding" toevoegen als header, maar ik weet niet of dat überhaupt nodig is. Als ik 'm niet toevoeg gaat het namelijk gewoon goed.

Echter, ik zie in veel mails die ikzelf ontvang Content-Transfer-Encoding op 'base64' ingesteld staan. Ik heb dat bij mijn eigen mail ook eens geprobeerd, maar dan wordt de mail totaal onleesbaar met allerlei rare vierkantjes. Als ik Content-Transfer-Encoding instel op x-token dan gaat het goed, maar als ik Content-Transfer-Encoding instel op quoted-printable dan werkt de link in de mail ineens niet meer.

Mijn vraag is ... waar dient Content-Transfer-Encoding voor? Moet ik het wel of niet instellen, en zo ja op welke waarde?

Oh ja ... Content-Type heb ik ingesteld op 'text/html; charset=utf-8'.

Wie kan me wat meer vertellen?
Is puur implementatiegericht. Base64 is extreem eenvoudig te implementeren, een paar regels C code is genoeg als je het handig aanpakt. Vooral omdat het zich richt op blokken van data, en niet op de inhoud ervan. Quoted-printable is contextgevoelig, en daarmee wat lastiger te implementeren.

De zuinigheid zit hem vooral in het verspillen van bandbreedte. Gemiddeld zal een base64 string 30% groter zijn dan het origineel. Bij quoted-printable is dat veel minder, omdat je alleen bijzondere tekens en newlines codeert. Geen mailserver zit te wachten op een mail van 100kb terwijl het ook in 60 kan bij wijze van spreken. Bandbreedte is goedkoop, maar het moet ook niet verspild worden.
>> De zuinigheid zit ... niet verspild worden.

Ah oké, duidelijk verhaal.

>> Base64 is extreem eenvoudig te implementeren, een paar regels C code is genoeg als je het handig aanpakt.

Ah zo, ik kijk meer vanuit m'n eigen (PHP) perspectief. Wat er achter de schermen gebeurt, hou ik maar geen rekening mee :-)

Even afrondend dan, als ik me niet vergis maakte je gisteren een opmerking dat je ook images kunt encoden. Kun je op die manier een plaatje (bijv. logo) in een mail meesturen dat altijd getoond wordt, zonder dat de ontvanger eerst toestemming moet geven?
Correct. Dat is een multipart inline attachment waar je in img tags kunt verwijzen als <img src="cid:jeid">.
En dan wordt er dus niet gevraagd of de afbeeldingen getoond mogen worden? Waarom doet dan niet iedereen dat? (Mocht je daar nog een mooi codevoorbeeldje/tutorial van weten, hoor ik dat graag.)
Interessant! Als ik wat meer tijd heb, ga ik me daar eens wat beter in verdiepen.

Thanks very much!

Reageren