SMTP Inside Out

Hoe internet e-pos werk

Het jy al ooit gewonder wat gebeur wanneer jy die Stuur- knoppie in jou e-posprogram druk? Waarskynlik nie, dink ek - solank dit werk. Dit is presies die rede waarom jy moet wonder. As iets nie werk nie, is dit goed om te weet wat nie werk nie. Gewoonlik is dit die helfte van die oplossing.

Wanneer u e-pos stuur, kom SMTP in die spel. SMTP is kort vir die eenvoudige e-pos-oordragprotokol soos omskryf in RFC 5321: Simple Mail Transfer Protocol. Jou e-pos kliënt praat met die SMTP-bediener met hierdie skoon en eenvoudige proses om e-pos van een plek na die ander te kry.

Die Flirt

Jou e-pos program word 'n SMTP-kliënt , verbind aan poort 25 van jou pos bediener (gewoonlik die SMTP-poort ) en - sê EHLO . Rekenaars, op die ou end, is net menslik en wat tel, is dat dit beleefd wil wees. Eintlik probeer dit nie beleefd te wees nie, maar om later byvoegings aan SMTP te gebruik wat twee smake van die latere HELO- opdrag gebring het (SMTP-opdrag bestaan ​​gewoonlik uit vier karakters).

Twee Smaak van HELO

EHLO, aangesien die mees onlangse een die bediener adverteer, word al die bykomende funksies geadverteer (soos leweringstatus kennisgewing of die vermoë om boodskappe te vervoer wat ander as die veilige ASCII karakters bevat) wat dit ondersteun.

Nie elke bediener sal hierdie groet toelaat nie, maar dit is nodig om 'n gewone HELO te aanvaar wat vanselfsprekend aanvaar dat geen bykomende funksies teenwoordig is nie. Albei hallo opdragte vereis dat die kliënt sy domein na die ** LU moet spesifiseer. In die praktyk lyk dit soos volg:

220 mail.domain.net ESMTP Server
failed HELO
501 HELO benodig domeinadres
HELO localhost
250 mail.domain.net Hallo localhost [127.0.0.1], is bly om jou te ontmoet

(My inset is kursief , die bedieneruitset is swart; lyne begin met 'n 5 dui ' n fout aan .)

Die sender

Die res van die protokol verdien die eienskap eenvoudig. As jy 'n e-pos wil stuur, begin jy met die sleutelwoorde MAIL FROM:. Hierna volg die e-pos adres van die sender, soos voorgestel deur die van. Moenie vergeet om hakies om die adres te plaas nie, alhoewel (soos ). Deur ons voorbeeld te volg, het ons:

POS VANAF:
250 sender@example.com ... Sender ok

Die ontvanger

Nadat die bediener die sender se adres aanvaar het, kan die kliënt die adres van die ontvanger gee. Die opdrag vir hierdie aksie, RCPT TO: weer is eerder suggestief. Ek wil pos aan myself stuur :

RCPT AAN: ontvanger@voorbeeld.com
250 support@lifewireguide.com ... Ontvanger ok (sal ry)

Dat die bediener in die ry sal wees, beteken dit: dit sal die pos plaaslik stoor en dit saam met al die ander ry-posse in intervalle stuur (byvoorbeeld elke 30 minute). Hierdie gedrag hang af van die konfigurasie en die bediener kan ook die e-pos direk stuur.

Ons is amper klaar. Wat nog ontbreek, is egter die belangrike deel: die werklike boodskap.

Die boodskap

Noudat die koevert klaar is, kan die data van die e-pos boodskap net soos dit volg. Hierdie "data" bestaan ​​uit die epos se liggaam sowel as die kopvelde .

Die opdrag om die staat te begin wat die bediener laat aanvaar, is DATA . Hierna volg al die opskrifvelde van die e-posboodskap en dan die liggaam, wat albei vir net een groot blok teks (of data) uitmaak. Om die bediener te vertel dat die insette klaar is, word 'n punt op 'n lyn self gebruik (\ r \ n. \ R \ n). So ek stuur my boodskap:

DATA
354 Tik pos, eindig met "." op 'n lyn op sigself
Boodskap-ID:
Datum: So, 17 Aug 1997 18:48:15 +0200
Van: Heinz Tschabitscher
Aan: Heinz Tschabitscher
Onderwerp: Vir die opsomming-Proust Wedstryd

Off to Swan's World!
.
250 SAA19153 Boodskap aanvaar vir aflewering

Ja, dit beteken dat u 'n naam kan gee wat heeltemal anders is as die een waar die e-pos na gaan in die To: -veld. Byvoorbeeld, jy kan ' Ontvangerslys onderdruk' gebruik .

Die einde

U kan nou soveel e-posse stuur as u die stappe van MAIL FROM: na wil herhaal . . As jy daarmee klaar is, kan jy die bediener afsluit met die QUIT- opdrag en dit is net wat ons doen:

QUIT
221 totsiens

Hoe kan ek dit doen?

Die nie-triviale oplossing is om te telnet na u uitgaande posbediener (u adres vind u in die e-pos kliënt se rekeninginstellings ) op poort 25.

Die makliker manier is om hierdie Java-applet te gebruik, wat probeer om die SMTP-protokol na te boots en jou deur die dialoog te lei.