SMTP внатре надвор

Како работи интернет-мејл

Дали некогаш сте се запрашале што се случува кога ќе го притиснете копчето Испрати во вашата програма за е-пошта? Веројатно не, претпоставувам - колку што работи. Ова е токму причината зошто треба да се запрашате. Во случај нешто не функционира, добро е да знаете што не функционира. Обично, тоа е половина од решението.

Кога праќате е-пошта SMTP стартува во игра. SMTP е краток за едноставен пренос на пошта, како што е дефинирано во RFC 5321: Проточен протокол за пренос на пошта. Вашиот клиент за пошта разговара со SMTP серверот користејќи ја оваа чиста и едноставна процедура за да добивате е -пошта од едно место до друго.

Флерт

Вашата програма за е-пошта станува SMTP-клиент , се поврзува со портата 25 од вашиот mail сервер (обично SMTP-портата ) и - вели EHLO . Компјутерите, на крајот, се само човечки и она што се брои е тоа што сака да биде љубезен. Всушност, тоа не се обидува да биде учтиво, туку да користи подоцнежни дополнувања на SMTP кои доведоа до две вкусови на подоцнежната команда HELO (командата SMTP обично се состои од четири знаци).

Две вкусови на HELO

EHLO, како последен, го прави серверот да ги рекламира сите дополнителни функции (како известување за статусот на испорака или способност за пренос на пораки кои содржат други безбедносни ASCII карактери) што ги поддржува.

Не секој сервер ќе го дозволи овој поздрав, но потребно е да прифати обичен HELO кој природно претпоставува дека нема дополнителни функции. Двете здрави команди бараат од клиентот да го специфицира својот домен по ** LO, сепак. Во пракса, ова изгледа нешто како:

220 mail.domain.net ESMTP сервер
HELO
501 HELO бара домен адреса
HELO localhost
250 mail.domain.net Здраво локален компјутер [127.0.0.1], задоволен што ве запознав

(Мојот внес е во закосени букви , излезот на серверите е црно, линиите започнуваат со 5 укажуваат на грешка .)

Испраќачот

Остатокот од протоколот навистина го заслужува атрибутот едноставен. Ако сакате да испратите е-пошта, започнувате со клучните зборови MAIL FROM:. По ова доаѓа е -мејл адресата на испраќачот, како што е предложено од страна на. Не заборавајте да ставите загради околу адресата, иако (како ). Продолжувајќи го нашиот пример, имаме:

MAIL ОД:
250 sender@example.com ... Испраќачот е во ред

Примачот

Откако серверот ја прифатил адресата на испраќачот, клиентот може да ја даде адресата на примачот. Командата за оваа акција, RCPT TO: повторно е доста сугестивна. Сакам да испратам порака до мене :

RCPT TO: recipient@example.com
250 support@lifewireguide.com ... Примачот е во ред (ќе чека задача)

Дека серверот ќе чека за чекање значи само тоа: локално ќе ја зачува е-поштата и ќе ја испрати заедно со сите останати ред во ред во интервали (на пример, на секои 30 минути). Ова однесување зависи од конфигурацијата и серверот исто така може веднаш да ја испрати поштата.

Скоро сме готови. Сепак, она што е сè уште недостасува е важен дел: вистинската порака.

Пораката

Сега кога "плико" е завршена, податоците од е-пораката исто како што е можно можат да следат. Овие "податоци" се состојат од телото на е-поштата, како и полињата на заглавието .

Командата за иницирање на државата што го прави серверот да ја прифати пораката е ПОДАТОЦИ . По ова се сите заглавија полиња на е-мејл порака, а потоа на телото, и сочинуваат само еден голем блок на текст (или податоци). За да му каже на серверот дека влезот е завршен, се користи точка на линија (\ r \ n. \ R \ n). Па јас ја испраќам мојата порака:

ПОДАТОЦИ
354 Внесете пошта, завршувајте со "." на линија само по себе
Message-ID:
Датум: Не, 17 Август 1997 18:48:15 +0200
Од: Хајнц Чабишир
За: Хајнц Цабишир
Предмет: За натпреварот за сумирање-Пруст

Офлајн
.
250 SAA19153 Пораката прифатена за испорака

Да, ова значи дека можете да наведете име сосема поинакво од оној во кој се наоѓа е-поштата во полето To: На пример, можете да користите "Примање на листа на примачи " .

Крај

Сега можете да испратите што повеќе пораки како сакате повторување на чекорите од MAIL FROM: to . . Ако сте завршиле со тоа, може да го напуштите серверот со командата QUIT и тоа е токму она што го правиме:

QUIT
221 Збогум

Како можам да го направам ова?

Не-тривијалното решение е да телнет до вашиот сервер за појдовна пошта (можете да ја пронајдете неговата адреса во прилагодувањата на сметката на вашиот е -пошта ) на портата 25.

Полесен начин е да го користите овој Java аплет , кој се обидува да го имитира SMTP протоколот и ве води низ дијалогот.