SMTP yn 'e buert

Hoe internet-e-mail wurket

Hawwe jo earder geweldich wat bart as jo de knop Sende yn jo e-mailprogramma drukke? Wierskynlik net, ik tocht - sa lang as it wurket. Dit is krekt de reden wêrom't jo wolle, hoewol. Yn gefal dat wat net wurket, is it goed om te witten wat net wurket. Meastal is dit de helte de oplossing.

As jo e-mail stjoere sil SMTP ynspiele. SMTP is koart foar Simple Mail Transfer Protocol as definiearre yn RFC 5321: Simple Mail Transfer Protocol. Jo e-postprogramma praat oer de SMTP-tsjinner mei dizze skjinne en ienfâldige proseduere om e- postberjochten fan ien plak nei de oare te krijen.

The Flirt

Jo e-postprogramma wurdt in SMTP-klant , ferbûn mei poarte 25 fan jo e-mailtsjinner (normaal de SMTP-haven ) en - seit EHLO . Kompjûters, op it lêst, binne mar minsklik en wat jout dat is dat it wol goed is. Eartiids wurdt it net besocht te polite te wêzen mar letter spesjale tafoegings oan SMTP te brûken dy't twa smaak brûke fan it letter HELO kommando (SMTP kommandaal bestiet algemien út fjouwer karakters).

Twa flavors fan HELO

EHLO, as de lêste is, meitsje de tsjinner alle ekstra funksjes (sa as ferfiersstatusferifikaasje of de mooglikheid om berjochten te befarjen dy't oare binne as de feilige ASCII tekens befetsje).

Net elke tsjinner sil dizze groetsje pleatse, mar it is ferplichte om in flakte HELO te akseptearjen dy't natuerlik derbyt, dat gjin oanfoljende funksjes oanwêzich binne. Beide hallo kommando's nedich de kliïnt om syn domein nei de ** LO te oantsjutte, lykwols. Yn 'e praktyk sjocht dit soms wat:

220 mail.domain.net ESMTP-tsjinner
HELO
501 HELO fereasket domeinadres
HELO localhost
250 mail.domain.net Hello localhost [127.0.0.1], bliid om jo te treffen

(Myn input is yn kursussen , de tsjinner output is swart, linen begjinne mei in 5 in flater oan .)

De Sender

De rest fan 'e protokol fertsjinnet it attribút simpel. As jo ​​in e-mail stjoere wolle, begjinne jo mei de kaaiwurden MAIL FROM:. Dêrnei komt it e-postadres fan de stjoerder, sa't it wurd is. Ferjit net om klokketten om it adres te setten, hoewol (lykas ). Continuing ús foarbyld, hawwe wy:

MAIL FROM:
250 sender@example.com ... Sender ok

De ûntfanger

Nei't de tsjinner itadres adres hat akseptearre, kin de kliint it adres fan de ûntfanger jaan. It kommando foar dizze aksje, RCPT TO: is wer earder suggestive. Ik wol it berjocht nei mysels stjoere:

RCPT TO: recipient@example.com
250 support@lifewireguide.com ... ûntfanger ok (sil wachtrige)

Dat de tsjinner wachtrige betsjut krekt dat: it pleatst de post locale en stjoert it mei elke oare wachtpost yn yntervallen (bygelyks elke 30 minuten). Dit gedrach hinget fan 'e konfiguraasje en de tsjinner kin ek de post fuortdalik leverje.

Wy binne hast dien. Wat noch ûntbrekt is, lykwols, it wichtichste diel: it eigentlike berjocht.

It berjocht

No dat de "envelope" foltôge is, de gegevens fan it e-postberjocht lykas it is kinne folgje. Dizze "gegevens" bestiet út it e- postkantoar en ek de koppenfjilden .

It kommando om de steat te begjinnen dy't de tsjinner makket fan it berjocht is DATA . Nei dit binne alle headerfjilden fan it e-mailberjocht en dan it lichem, beide maklik foar ien grutte tekstblok (of data). Om de tsjinner te fertellen dat de ynfier is bepaald in punten op in line foar himsels wurdt brûkt (\ r \ n. \ R \ n). Dus stjoer ik myn berjocht:

DATA
354 E-post ynfiere, einigje mei "." op in line troch himsels
Berjocht-id:
Datum: Sun, 17 Aug 1997 18:48:15 +0200
Fanút: Heinz Tschabitscher
To: Heinz Tschabitscher
Underwerp: Foar it Summarize-Proust-konkurrinsje

Off to Swan's World!
.
250 SAA19153 Berjocht akseptearre foar levering

Ja, dit betsjut dat jo in namme folslein ferskille kinne fan 'e i, de e-post giet yn it To: fjild. Jo kinne bygelyks "Oanbiedingslist ûnderdrukt brûke" .

It ein

Jo kinne sa folle e- mails stjoere as jo wolle dat jo de stappen fan MAIL FROM: to . . As jo ​​dêroan dien hawwe, kinne jo de tsjinner mei it QUIT kommandje en dat is krekt wat wy dogge:

OERJAAN
221 Goodbye

Hoe kin ik dit dwaan?

De net-triviale oplossing is te telnet nei jo útgeande e-mailtsjinner (jo kinne jo adres yn jo e-mail client-account-ynstellings fine ) op haven 25.

De maklikere manier is dit Java-applet te brûken , dy't besiket it SMTP-protokol te ymportearjen en jo troch it dialooch te rjochtsjen.