SMTP anndan deyò

Ki jan entènèt imèl travay

Eske ou janm mande ki sa k ap pase lè ou peze bouton an Voye nan pwogram imèl ou an? Pwobableman pa, mwen devine - osi lontan ke li ap travay. Sa a se egzakteman rezon an pou kisa ou ta dwe mande, menm si. Nan ka yon bagay pa travay li nan bon konnen ki sa ki pa travay. Anjeneral, se mwatye solisyon an.

Lè ou voye imèl SMTP vini nan jwe. SMTP se kout pou Pwotokòl Senp Mail Transfè jan li defini nan RFC 5321: Simple Mail Transfer Protocol. Pale kliyan ou a sèvè a SMTP lè l sèvi avèk pwosedi sa a pwòp ak senp yo ka resevwa imèl nan yon sèl kote nan yon lòt.

Flirt la

Pwogram imèl ou a vin tounen yon kliyan SMTP , konekte nan 25 nan sèvè lapòs ou (anjeneral pò a SMTP ) ak - di EHLO . Odinatè, nan fen a, se sèlman imen ak sa ki konte se ke li vle yo janti. Aktyèlman, li pa eseye yo dwe politès, men yo sèvi ak ajoute pita nan SMTP ki te pote sou de gou nan lòd la pita HELO (SMTP lòd jeneralman konpoze de kat karaktè).

De gou nan HELO

EHLO, yo te youn nan pi resan fè sèvè a piblisite tout karakteristik yo anplis (tankou notifikasyon estati livrezon oswa kapasite nan transpòte mesaj ki gen lòt pase karaktè yo ASCII san danje) li sipòte.

Se pa tout sèvè pral pèmèt sa a bonjou, men li oblije aksepte yon HELO plenn ki natirèlman sipoze ke pa gen okenn karakteristik adisyonèl yo prezan. Tou de kòmandman hello mande pou kliyan an presize domèn li yo apre ** LO a, sepandan. Nan pratik, sa sanble yon bagay tankou:

220 mail.domain.net ESMTP sèvè
HELO
501 HELO mande adrès domèn
HELO localhost
250 mail.domain.net Bonjou localhost [127.0.0.1], kontan rankontre ou

(Opinyon mwen an se nan italik , pwodiksyon an serveurs se nwa; liy kòmanse ak yon 5 endike yon erè .)

Sender la

Rès la nan pwotokòl la vrèman merite atribi a senp. Si ou vle voye yon imèl, ou kòmanse ak mo kle mo ki soti nan:. Apre sa vini adrès imel la nan moun k la, jan sijere pa soti nan. Pa bliye mete parantèz alantou adrès la, menm si (tankou ). Kontinye egzanp nou an, nou genyen:

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

Moun k ap resevwa a

Apre sèvè a aksepte adrès moun k la, kliyan an ka bay adrès moun k ap resevwa a. Kòmandman an pou aksyon sa a, RCPT POU: ankò se olye sigjesyon. Mwen vle voye lapòs nan tèt mwen :

RCPT POU: recipient@example.com
250 sipò@lifewireguide.com ... Moun k ap resevwa ok (pral keu)

Sa sèvè a pral keu vle di ke: li pral delivre lapòs la lokalman epi voye li ansanm ak tout lòt koud lapòs la nan entèval (paekzanp, chak 30 minit). Konpòtman sa a depann de konfigirasyon an ak sèvè a kapab tou delivre lapòs la imedyatman.

Nou prèske fè. Ki sa ki nan toujou manke, menm si, se pati ki enpòtan: mesaj la reyèl.

Mesaj la

Kounye a ke "anvlòp la" fini, done yo nan mesaj imèl la menm jan li ye ka swiv. Sa a "done" konsiste de kò imèl la kòm byen ke jaden yo header .

Kòmandman an kòmanse eta a ki fè sèvè a aksepte mesaj la se done . Apre sa, yo tout jaden yo header nan mesaj imel la ak Lè sa a, kò a, tou de fè moute pou yon sèl blòk gwo nan tèks (oswa done). Pou di sèvè a ki opinyon an fini yon dot sou yon liy pou kont li se itilize (\ r \ n). Se konsa, mwen voye mesaj mwen an:

DAT
354 Mete lapòs, fini ak "." sou yon liy pou kont li
Mesaj ID:
Dat: Solèy, 17 Aug 1997 18:48:15 +0200
Soti nan: Heinz Tschabitscher
Pou: Heinz Tschabitscher
Sijè: Pou Rezime a Rezime-Proust

Off nan mond Swan a!
.
250 SAA19153 Mesaj aksepte pou livrezon

Wi, sa vle di ke ou ka endike yon non konplètman diferan de youn nan imèl la ale nan nan: jaden an. Pa egzanp, ou ka sèvi ak " Lis pou moun ki resevwa sipwiz" .

Fen la

Ou kapab kounye a voye anpil Imèl menm jan ou vle repete etap sa yo nan MAIL KI KOTE: a . . Si w ap fè ak sa, ou ka kite sèvè a ak lòd la QUIT epi se jis sa nou fè:

KONT
221 orevwa

Kouman pou mwen fè sa?

Solisyon a ki pa trivial se telnet nan sèvè sortan lapòs ou (ou ka jwenn adrès li nan anviwònman kont kliyan imel ou an ) sou pò 25.

Fason ki pi fasil a se yo sèvi ak sa a Java applet , ki ap eseye imite pwotokòl la SMTP ak gid ou atravè dyalòg la.