SMTP sisemine väljund

Kuidas Interneti-e-posti töötab?

Kas olete kunagi mõelnud, mis juhtub, kui vajutate oma e-posti programmis nuppu Saada ? Ilmselt mitte, ma arvan - nii kaua kui see töötab. See on just põhjus, miks te peaksite siiski imestama. Kui midagi ei tööta, on hea teada, mis ei toimi. Tavaliselt on see pool lahendusest.

Kui saadate e-kirja SMTP hakkab mängima. SMTP on lühike Simple Mail Transfer Protocol, nagu on määratletud RFC 5321: Simple Mail Transfer Protocol. Teie e- posti klient kõneleb SMTP-serveriga, kasutades seda puhast ja lihtsat protseduuri, et saada e-kiri ühest kohast teise.

Flirt

Teie meiliprogramm muutub SMTP-kliendiks , ühendub teie posti serveri (tavaliselt SMTP-porti ) porti 25 ja - ütleb EHLO . Lõppkokkuvõttes on arvutid ainult inimese jaoks ja peamine on see, et ta tahab olla viisakas. Tegelikult ei püüa see olla viisakas, vaid kasutada hilisemaid täiendusi SMTP-le, mis on toonud kaasa hilisema HELO käsu kahe maitse (SMTP-käsk koosneb tavaliselt neljast tähemärgist).

HELO kaks maitset

EHLO, mis on uuem, muudab serveri reklaamimiseks kõik lisafunktsioonid (näiteks tarneseisundi teatis või võimalus edastada sõnumeid, mis sisaldavad muid kui ohutuid ASCII-tähti), mida see toetab.

Mitte iga server lubab seda tervitust, kuid see peab aktsepteerima tavalist HELO-d, mis loomulikult eeldab, et lisafunktsioonid pole olemas. Mõlemad tere käsklused nõuavad, et klient määrab oma domeeni pärast ** LO-d. Praktikas näib see välja järgmine:

220 mail.domain.net ESMTP-server
HELO
501 HELO vajab domeeni aadressi
HELO localhost
250 mail.domain.net Tere, localhost [127.0.0.1], hea meel sinuga kohtuda

(Minu sisend on kaldkirjas , serverite väljund on must, jooned, mis algavad viiega , viitavad veale .)

Saatja

Ülejäänud protokoll tõesti väärib atribuut lihtsat. Kui soovite e-kirja saata, alustage märksõnadega MAIL FROM:. Selle järel tuleb saatja e-posti aadress vastavalt soovitusele. Ärge unustage sulgudes aadressi ümber asetada (kuigi see on näiteks ). Meie näite jätkamisel oleme:

MAIL:
250 sender@example.com ... saatja ok

Saaja

Kui server on vastu võtnud saatja aadressi, saab klient saaja aadressi anda. Selle käsu käsk RCPT TO: jällegi on pigem aimav . Ma tahan endale saata kirju:

RCPT TO: recipient@example.com
250 support@lifewireguide.com ... Saaja okei (järjekorda)

See, et server järjekorda tähendab just seda: see salvestab kirja kohapeal ja saadab selle koos kõikide teiste järjekorras olevate kirjatega intervallidega (näiteks iga 30 minuti järel). See käitumine sõltub konfiguratsioonist ja server võib ka posti kätte saata koheselt.

Me oleme peaaegu valmis. Kuid see, mis ikka veel puudu, on oluline osa: tegelik sõnum.

Teade

Nüüd, kui ümbrik on lõpetatud, saab e-kirja andmed samamoodi nagu seda teha. Need "andmed" koosnevad e-kirja kehast ja päiseväljadest .

Käsk olekuri käivitamiseks, mis muudab serveri sõnumi vastuvõtuks, on ANDMED . Selle järel on kõik e-kirja päiseväljad ja seejärel keha, mis mõlemad moodustavad vaid ühe suure tekstiosa (või andmete). Kui serverile on öeldud, et sisend on lõpetatud, kasutatakse joont üksinda (\ r \ n. \ R \ n). Nii et saan oma sõnumi saata:

ANDMED
354 Sisestage post, lõpeta "." rida iseenesest
Sõnumi ID:
Kuupäev: Pühapäev, 17. august 1997 18:48:15 +0200
Alates: Heinz Tschabitscher
Saaja: Heinz Tschabitscher
Teema: Summarize-Proust'i konkursil

Väljas Swan'i maailmale!
.
250 SAA19153 Sõnum vastu võetud kättetoimetamiseks

Jah, see tähendab, et võite nimetada täiesti erinev nime, mille e-kiri läheb väljale To:. Näiteks võite kasutada "saamata jäänud saaja nimekirja " .

Lõpp

Nüüd saate saata nii palju e-kirju kui soovid korrata samme alates MAIL FROM: kuni . . Kui olete sellega lõpetanud, võite quit serverist käsuga QUIT ja just see, mida me teeme:

QUIT
221 hüvasti

Kuidas ma saan seda teha?

Mitte-triviaalne lahendus on telnetiks oma väljamineva posti serverisse (leiate oma aadressi oma e-posti kliendi konto seadetes ) sadamas 25.

Lihtsam viis on kasutada seda Java-apletti , mis üritab SMTP-protokolli jäljendada ja juhendab teid dialoogi kaudu.