SMTP Inside Ekstere

Kiel interreta retpoŝto funkcias

Ĉu vi iam ajn demandis, kio okazas kiam vi premas la Sendan butonon en via retpoŝta programo? Probable ne, mi supozas - kondiĉe ke ĝi funkcias. Ĉi tio estas ĝuste la kialo, kial vi devus miri, tamen. Se io ne funkcios, estas bone scii, kio ne funkcias. Kutime, tio estas duono de la solvo.

Kiam vi sendas retpoŝton SMTP eniras. SMTP estas mallonga por Simpla Poŝto-Translokiga Protokolo kiel difinita en RFC 5321: Simpla Poŝta Translokiga Protokolo. Via retpoŝta kliento parolas al la SMTP-servilo per ĉi tiu pura kaj simpla proceduro por ricevi retpoŝton de unu loko al alia.

La Flirt

Via retpoŝta programo fariĝas kliento SMTP , konektas al la haveno 25 de via retpoŝta servilo (kutime la SMTP-haveno ) kaj - diras EHLO . Komputiloj, je la fino, estas nur homaj kaj kiaj estas, ke ĝi volas esti ĝentila. Fakte, ĝi ne provas esti ĝentila sed uzi postajn aldonojn al SMTP, kiuj kaŭzis du gustojn de la posta helpo- komando (SMTP-komando ĝenerale konsistas el kvar karakteroj).

Du Gravoroj de Helpo

EHLO, estante la plej freŝa, faras ke la servilo reklamu ĉiujn pliajn funkciojn (kiel transdono-sciigo aŭ la kapablon transporti mesaĝojn, kiuj enhavas krom la sekuraj ASCII-karakteroj), kiujn ĝi subtenas.

Ne ĉiu servilo permesos ĉi tiun saluton, sed oni devas akcepti ebenaĵon HELO kiu nature supozas, ke neniuj pliaj trajtoj ĉeestas. Ambaŭ salutkomandoj postulas la klienton specifi sian domon post la ** LO, tamen. En praktiko, ĉi aspektas io simila:

220 poŝto.domain.net ESMTP-servilo
HELO
501 HELO postulas domajnan adreson
HELO loka
250 poŝto.domain.net Saluton localhost [127.0.0.1], plaĉis renkonti vin

(Mia enigo estas en kursivo , la servilo eligo estas nigra; linioj komencantaj per 5 indikas eraron .)

La sendinto

La resto de la protokolo vere meritas la simplan atributon. Se vi volas sendi retpoŝton, vi komencu per la ŝlosilvortoj MAIL FROM:. Post ĉi tio venas la retpoŝta adreso de la sendinto, kiel sugestis la de. Ne forgesu meti krampojn ĉirkaŭ la adreso, kvankam (kiel ). Daŭrigante nian ekzemplon, ni havas:

MAIL DE:
250 sender@example.com ... Sendinto bone

La ricevanto

Post kiam la servilo akceptis la adreson de la sendinto, la kliento povas doni la adreson de la adresato. La komando por ĉi tiu ago, RCPT TO: denove estas sufiĉe sugera. Mi volas sendi al mi retmesaĝon:

RCPT TO: ricevanto@example.com
250 support@lifewireguide.com ... Ricevanto Ok (Ruliĝos)

Kiu la servilo akuzas nur tion: ĝi savos la poŝtelefonon kaj sendos ĝin kune kun la tuta alia vosto en intervaloj (ekzemple, ĉiu 30 minutoj). Ĉi tiu konduto dependas de la agordo kaj la servilo ankaŭ povas transdoni la poŝton tuj.

Ni preskaŭ finiĝis. Kio ankoraŭ mankas, tamen, estas la grava parto: la reala mesaĝo.

La Mesaĝo

Nun ke la "koverto" finiĝis, la datumoj de la retpoŝta mesaĝo same kiel ĝi povas sekvi. Ĉi tiu "datumo" konsistas el la korpo de la retpoŝto same kiel la kaplinio kampoj .

La komando komenci la staton, kiu faras la servilon akcepti la mesaĝon, estas DATA . Sekvante ĉi tio estas ĉiuj kapliniaj kampoj de la retpoŝta mesaĝo kaj poste la korpo, ambaŭ farante nur unu grandan blokon de teksto (aŭ datumoj). Por diri al la servilo, ke la enigo finiĝis punkto sur linio per si mem estas uzata (\ r \ n. \ R \ n). Do mi sendas mian mesaĝon:

DATOJ
354 Eniru retpoŝton, finu per "." sur linio per si mem
Mesaĝo-ID:
Dato: Suno, 17 Aŭgusto 1997 18:48:15 +0200
De: Heinz Tschabitscher
Al: Heinz Tschabitscher
Temo: Por la Konkurso de Resumo-Proust

Ekstere al la Mondo de Cigno!
.
250 SAA19153 Mesaĝo akceptita por transdono

Jes, tio signifas, ke vi povas nomi tute malsaman nomon al tiu, kiun la retpoŝto iras en la Al: kampo. Ekzemple vi povas uzi " Ricevantan liston elstrekita" .

Fine

Vi nun povas sendi multajn retpoŝtojn kiel vi deziras ripeti la paŝojn de MAIL FROM: al . . Se vi faros tion, vi povas lasi la servilon per la komando de QUIT kaj tio estas nur kion ni faru:

QUIT
221 Adiaŭ

Kiel mi povas fari ĉi tion?

La ne-banala solvo estas telnet al via ekspedanta retpoŝta servilo (vi povas trovi ĝian adreson en la agordo de via retpoŝta kliento ) sur la haveno 25.

La pli facila maniero estas uzi ĉi tiun Java-appleton , kiu provas imiti la SMTP-protokolon kaj gvidas vin tra la dialogo.