Jak funguje internetový e-mail
Přemýšleli jste někdy o tom, co se stane, když stisknete tlačítko Odeslat v e-mailovém programu? Pravděpodobně ne, myslím - dokud to funguje. To je právě důvod, proč byste se měli divit. V případě, že něco nefunguje, je dobré vědět, co nefunguje. Obvykle je to polovina řešení.
Po odeslání e-mailu se hraje SMTP . SMTP je zkratka pro protokol Simple Mail Transfer Protocol definovaný v dokumentu RFC 5321: Simple Mail Transfer Protocol. Váš poštovní klient komunikuje se serverem SMTP pomocí tohoto čistého a jednoduchého postupu, aby získal e-maily z jednoho místa do druhého.
The Flirt
Váš emailový program se stává klientem SMTP , připojí se k portu 25 poštovního serveru (obvykle portu SMTP ) a - říká EHLO . Počítače jsou nakonec jen lidské a to, co je důležité, je, že chce být zdvořilí. Ve skutečnosti se nepokouší být zdvořilí, ale použít pozdější přírůstky k SMTP, které přinesly dvě příchutě pozdějšího příkazu HELO (příkaz SMTP se obvykle skládá ze čtyř znaků).
Dvě příchutě HELO
EHLO, protože je novější, zpřístupňuje server všechny další funkce (například oznámení o stavu doručení nebo schopnost přepravovat zprávy, které obsahují jiné než bezpečné znaky ASCII), které podporuje.
Ne každý server povolí toto pozdrav, ale je nutné přijmout prostý HELO, který přirozeně předpokládá, že nejsou přítomny žádné další funkce. Oba hello příkazy vyžadují, aby klient po zadání ** LO zadal svou doménu. V praxi vypadá něco jako:
220 mail.domain.net ESMTP Server
AHOJ
501 HELO vyžaduje doménovou adresu
HELO localhost
250 mail.domain.net Ahoj localhost [127.0.0.1], rád se s vámi setkávám
(Můj vstup je kurzívou , výstupy na serverech jsou černé, řádky začínající číslem 5 označují chybu .)
Odesílatel
Zbytek protokolu opravdu zaslouží atribut jednoduchý. Chcete-li odeslat e-mail, začněte s klíčovými slovy MAIL FROM:. Následuje e-mailová adresa odesílatele, jak navrhuje od. Nezapomeňte zadat závorky kolem adresy (třeba
MAIL FROM:
250 odesílatel@example.com ... Odesílatel ok
Příjemce
Poté, co server přijal adresu odesílatele, může klient zadat adresu příjemce. Příkaz pro tuto akci, RCPT TO: opět je spíše sugestivní. Chci poslat poštu na sebe :
RCPT TO: příjemce@example.com
250 support@lifewireguide.com ... Příjemce ok (bude fronta)
To, že server bude fronty, znamená to, že uloží poštu lokálně a pošle ji spolu se všemi dalšími frontami pořadu v intervalech (například každých 30 minut). Toto chování závisí na konfiguraci a server může také okamžitě odeslat poštu.
Už jsme skoro hotovi. To, co stále chybí, je důležitou součástí: skutečná zpráva.
Zpráva
Nyní, když je "obálka" dokončena, mohou následovat údaje z e-mailové zprávy. Tato "data" se skládá z těla e-mailu a hlaviček .
Příkaz iniciovat stav, který server přijme, je zpráva DATA . Následuje všechna pole záhlaví e-mailové zprávy a pak tělo, které oba tvoří pouze jeden velký blok textu (nebo dat). Chcete-li informovat server o dokončení vstupu, použije se tečka sama o sobě (\ r \ n. \ R \ n). Takže posílám svou zprávu:
DATA
354 Zadejte e-mail, končit "." na řádku sám
ID zprávy:
Datum: Ne, 17 Aug 1997 18:48:15 +0200
Od: Heinz Tschabitscher
Komu: Heinz Tschabitscher
Předmět: Pro soutěž Summarize-Proust
Vydejte se do Swanova světa!
.
250 SAA19153 Zpráva přijata k doručení
Ano, znamená to, že v poli Komu: můžete uvést úplně odlišné jméno od jména, ke kterému se e-mail dostane. Můžete například použít "Potvrzení seznamu příjemců "
Konec
Nyní můžete odeslat tolik e-mailů, kolik chcete, zopakovat kroky od MAIL FROM: to . . Pokud jste s tím skončili, můžete ukončit server pomocí příkazu QUIT a to je právě to, co děláme:
PŘESTAT
Sbohem
Jak to mohu udělat?
Netriviálním řešením je telnet na váš server pro odchozí poštu (jeho adresu naleznete v nastavení účtu e-mailového klienta ) na portu 25.
- Otevřete příkazový řádek.
- Zadejte "telnet
25". - Rozhovor se serverem pomocí protokolu SMTP.
Snadnější je použít tento applet Java , který se pokusí napodobit protokol SMTP a provede vás pomocí dialogu.