Sut mae Estyniadau Rhyngrwyd Amlbwrpas (MIME) yn gweithio

Mae MIME yn ei gwneud hi'n hawdd anfon atodiadau ffeil gyda negeseuon e-bost. Dyma sut mae'n gweithio.

Mae MIME yn sefyll ar gyfer "Estyniadau Rhyngrwyd Amlddewisol". Mae'n swnio'n gymhleth ac yn ddiystyr, ond mae MIME yn ymestyn galluoedd gwreiddiol e-bost rhyngrwyd mewn ffordd gyffrous.

Diffinnir negeseuon e-bost gan RFC 822 (a RFC 2822 yn ddiweddarach) ers 1982, ac mae'n debyg y byddant yn parhau i ufuddhau i'r safon hon am amser hir i ddod.

Dim ond Testun, Testun Plaen

Yn anffodus, mae RFC 822 yn dioddef o nifer o ddiffygion. Yn fwyaf nodedig, ni ddylai negeseuon sy'n cydymffurfio â'r safon honno gynnwys unrhyw beth ond testun ASCII plaen.

Er mwyn anfon ffeiliau (fel lluniau, dogfennau prosesu testun neu raglenni), rhaid i un eu trosi i destun plaen yn gyntaf ac yna anfon canlyniad y trosi yng nghorff neges e-bost. Rhaid i'r derbynnydd dynnu'r testun o'r neges a'i drosi i'r fformat ffeil deuaidd eto. Mae hon yn broses anhygoel, a chyn MIME roedd rhaid gwneud hyn â llaw.

Mae MIME yn cywiro'r broblem hon ynghlwm wrth RFC 822, ac mae'n ei gwneud hi'n bosibl defnyddio cymeriadau rhyngwladol mewn negeseuon e-bost hefyd. Gyda chyfyngiad RFC 822 i destun plaen (Saesneg), nid oedd hyn wedi bod yn bosibl o'r blaen.

Y Diffyg Strwythur

Yn ychwanegol at fod yn gyfyngedig i gymeriadau ASCII, nid yw RFC 822 yn nodi strwythur neges neu fformat y data. Gan ei fod hi'n glir eich bod bob amser yn cael un sothach o ddata testun plaen, nid oedd hyn yn angenrheidiol pan ddiffiniwyd y safon.

Mewn cyferbyniad, mae MIME yn gadael i chi anfon darnau lluosog o ddata gwahanol mewn un neges (dyweder, llun a dogfen Word), ac mae'n dweud wrth gleient e-bost y derbynnydd pa fformat y mae'r data ynddo fel y gallant wneud dewisiadau deallus yn dangos y neges.

Pan fyddwch yn cael llun, nid oes raid i chi nodi eto y gellir ei weld gyda gwyliwr delweddau. Mae eich cleient e-bost naill ai'n dangos y ddelwedd ei hun neu'n dechrau rhaglen ar eich cyfrifiadur y gall.

Adeiladu ac Ymestyn RFC 822

Nawr sut mae hud MIME yn gweithio? Yn y bôn, mae'n cyflogi'r broses anhygoel o anfon data mympwyol mewn testun plaen a ddisgrifir uchod. Nid yw safon neges MIME yn disodli'r safon a osodir yn RFC 822 ond yn ei ymestyn. Ni all negeseuon MIME gynnwys dim ond testun ASCII naill ai.

Mae hyn yn golygu bod rhaid i bob data e-bost gael ei amgodio mewn testun plaen cyn anfon y neges, a rhaid ei ddadgodio i'w fformat gwreiddiol ar y diwedd derbyn eto. Roedd yn rhaid i'r defnyddwyr e-bost cynnar wneud hynny â llaw. Mae MIME yn ei wneud i ni yn gyfforddus ac yn ddi-dor, fel arfer trwy broses glyw o'r enw amgodio Base64 .

Bywyd fel Neges E-bost MIME

Pan fyddwch yn cyfansoddi neges mewn rhaglen e-bost sy'n gallu MIME, mae'r rhaglen yn gwneud y canlynol yn fras:

Yn gyntaf, pennir fformat y data. Mae hyn yn angenrheidiol i ddweud wrth gleient e-bost y derbynnydd beth i'w wneud â'r data, ac i sicrhau amgodio priodol felly ni chollir dim yn ystod y trosglwyddiad.

Yna caiff y data ei amgodio os yw mewn fformat heblaw testun plain ASCII. Yn y broses amgodio , caiff y data ei drawsnewid i'r testun plaen sy'n addas ar gyfer negeseuon RFC 822.

Yn olaf, caiff y data amgodio ei fewnosod yn y neges, a hysbysir cleient e - bost y derbynnydd pa fathau o ddata i'w ddisgwyl: A oes atodiadau? Sut maen nhw'n cael eu hamgodio? Pa fformat oedd y ffeil wreiddiol?

Ar ddiwedd y derbynnydd, mae'r broses yn cael ei wrthdroi. Yn gyntaf, mae'r cleient e-bost yn darllen y wybodaeth a gafodd ei ychwanegu gan gleient e-bost yr anfonwr: A oes rhaid i mi edrych am atodiadau? Sut ydw i'n eu dadgodio? sut ydw i'n trin y ffeiliau sy'n deillio o hyn? Yna, caiff pob rhan o'r neges ei dynnu a'i ddadgodio os oes angen. Yn olaf, mae'r cleient e-bost yn dangos y rhannau canlyniadol i'r defnyddiwr. Dangosir y corff testun plaen yn unol â'r cleient e-bost ynghyd â'r atodiad delwedd . Mae'r rhaglen sydd ynghlwm wrth y neges wedi'i arddangos gydag eicon atodiad , a gall y defnyddiwr benderfynu beth i'w wneud ag ef. Gall ei achub rhywle ar ei disg, neu ei gychwyn yn uniongyrchol o'r rhaglen e-bost.