SMTP Inside Out

Kako deluje elektronska pošta

Ste se kdaj spraševali, kaj se zgodi, ko v svojem programu za e-pošto pritisnete gumb Pošlji ? Verjetno ne, verjetno - dokler deluje. To je ravno razlog, zakaj se morate spraševati, čeprav. V primeru, da nekaj ne deluje, je dobro vedeti, kaj ne deluje. Ponavadi je to polovica rešitve.

Ko pošiljate e-pošto SMTP začne delovati. SMTP je kratko za Simple Mail Transfer Protocol, kot je določeno v RFC 5321: Simple Mail Transfer Protocol. Vaš poštni odjemalec govori s strežnikom SMTP s tem čistem in preprostim postopkom za pošiljanje e-pošte iz enega mesta v drugega.

Flirt

Vaš e-poštni program postane SMTP odjemalec , se povezuje s pristaniščem 25 vašega poštnega strežnika (običajno pristanišče SMTP ) in - pravi EHLO . Računalniki so na koncu le človeški in kar šteje, da želi biti vljuden. Pravzaprav se ne poskuša biti vljuden, temveč uporabiti kasnejše dodatke SMTP, ki so prinesli dva okusa kasnejšega ukaza HELO (ukaz SMTP je na splošno sestavljen iz štirih znakov).

Dve okusi HELO

EHLO, zaradi česar je strežnik oglaševal vse dodatne funkcije (na primer obvestilo o stanju dostave ali možnost prenosa sporočil, ki vsebujejo varne znake ASCII), ki jih podpira.

Vsak strežnik ne dovoli tega pozdravljanja, vendar mora sprejeti navaden HELO, ki seveda predpostavlja, da ni dodatnih funkcij. Oba ukaza hello zahtevata, da odjemalec določi svojo domeno po ** LO. V praksi to izgleda nekaj takega:

220 mail.domain.net ESMTP strežnik
HELO
501 HELO zahteva naslov domene
HELO localhost
250 mail.domain.net Pozdravljeni lokalniški gost [127.0.0.1], vesel sem, da sem vas spoznal

(Moj vnos je v poševnem tisku , izhod iz strežnikov je čren, vrstice, ki se začnejo s 5, kažejo napako .)

Pošiljatelj

Preostanek protokola si zasluži enostaven atribut. Če želite poslati e-pošto, začnete s ključnimi besedami MAIL FROM:. Sledi e-poštni naslov pošiljatelja, kot ga je predlagal. Ne pozabite postaviti oklepaj po naslovu, čeprav (kot ). Nadaljuj z našim primerom, imamo:

MAIL OD:
250 sender@example.com ... Pošiljatelj ok

Prejemnik

Ko strežnik sprejme naslov pošiljatelja, lahko stranka navede naslov prejemnika. Ukaz za to akcijo, RCPT TO: spet je precej sugestiven. Želim poslati pošto sebi :

RCPT TO: prejemnik@example.com
250 support@lifewireguide.com ... Prejemnik ok (čakalna vrsta)

Če bo strežnik čakal, to pomeni: to bo lokalno shranilo pošto in ga skupaj z vsemi drugimi čakajočimi poštnimi sporočili v intervalih (na primer vsakih 30 minut). To vedenje je odvisno od konfiguracije in strežnik lahko takoj dostavi pošto.

Skoraj smo končali. Kar pa še vedno manjka, je pomemben del: dejansko sporočilo.

Sporočilo

Zdaj, ko je "ovojnica" končana, lahko sledijo podatki e-poštnega sporočila, tako kot je. Ti "podatki" so sestavljeni iz telesa e-pošte in naslovnih polj .

Ukaz za zagon države, ki strežniku sprejme sporočilo, je DATA . Po tem so vsa polja v naslovu e-poštnega sporočila, nato pa telo, tako da sestavljajo samo en velik blok besedila (ali podatkov). Če želite strežniku povedati, da je vnos končan, se na vrstici uporablja samo ena (\ r \ n. \ R \ n). Zato pošljem svoje sporočilo:

PODATKI
354 Vnesite pošto, končajte s ».« na sami liniji
ID sporočila:
Datum: ned, 17. avgust 1997 18:48:15 +0200
Od: Heinz Tschabitscher
Za: Heinz Tschabitscher
Zadeva: Za povzetek-Proust tekmovanje

V Swanovem svetu!
.
250 SAA19153 Sprejeto sporočilo za dostavo

Da, to pomeni, da lahko v polju Za: navedete ime, ki se popolnoma razlikuje od tistega, na katerega se pošlje e-poštno sporočilo. Na primer, lahko uporabite » Seznam prejemnikov «, ki je potisnjen .

Konec

Zdaj lahko pošljete toliko e-poštnih sporočil, kot želite, da ponovite korake iz MAIL FROM: to . . Če ste končali s tem, lahko strežnik zapustite z ukazom QUIT in to je tisto, kar počnemo:

PRENEHATI
221 Zbogom

Kako lahko to storim?

Ne-trivialna rešitev je telnet na strežniku za odhodno pošto (v naslovu 25 lahko najdete njen naslov v nastavitvah računa vašega e-poštnega odjemalca ).

Lažji način je, da uporabite ta programski aplet Java , ki poskuša posnemati protokol SMTP in vas voditi skozi pogovorno okno.