SMTP ichki ko'rinishi

Internet elektron pochtasi qanday ishlaydi?

E-pochta dasturida Yuborish tugmachasini bosganingizda nima bo'lishini hech o'ylab ko'rganmisiz? Ehtimol, u ishlamayapti, deb o'ylayman. Biroq, buning sababini bilishingiz kerak. Agar biror narsa ishlamasa, nima ish qilmasligini bilish yaxshi. Odatda, bu yechimning yarmi.

Elektron pochtani yuborganingizda, SMTP ishga tushadi. SMTP , RFC 5321da aniqlangan oddiy pochta uzatish protokoli uchun qisqa: oddiy pochta uzatish bayonnomasi. Sizning pochta dasturingiz SMTP serveriga ushbu oddiy va oddiy amaliyot yordamida elektron pochta manzilini boshqa joydan olish imkonini beradi.

Flirt

E-pochta dasturingiz SMTP mijozi bo'lib, pochta serveringizning 25- portiga (odatda SMTP portiga ) ulanadi va - EHLO . Kompyuterlar, oxir-oqibat, faqat insondir va bu juda muloyim bo'lishni istaydi. Aslida, u muloyim bo'lishga intilmaydi, ammo SMTPga keyingi qo'shimchalarni keyinchalik keyingi HELO buyrug'ining ikkita ta'mini keltirdi (SMTP buyrug'i odatda to'rtta belgidan iborat).

HELO ning ikkita flavori

EHLO, yaqinda bo'lgani uchun, serverga qo'llab-quvvatlaydigan barcha qo'shimcha funktsiyalarni (etkazib berish holati xabari yoki xavfsiz ASCII belgilaridan boshqa xabarlarni tashish qobiliyati) reklama qilishini ta'minlaydi.

Har bir server bu salomga ruxsat bermaydi, lekin tabiiy ravishda hech qanday qo'shimcha funktsiyalar mavjud emasligini ta'kidlaydigan oddiy HELOni qabul qilish talab etiladi. Har ikkala foydali belgilar ham mijozdan ** DOSdan keyin o'z domenini ko'rsatilishini talab qiladi. Amalda bu quyidagi kabi ko'rinadi:

220 mail.domain.net ESMTP Server
HELO
501 HELO domen manzilini talab qiladi
HELO localhost
250 mail.domain.net Hello localhost [127.0.0.1], siz bilan uchrashishdan mamnun

(Mening kirish kursiv kursatilgan , serverlar chiqishi qora, 5 bilan boshlangan chiziqlar xatoni bildiradi.)

Yuboruvchi

Protokolning qolgan qismi haqiqatdan ham oddiy atributga loyiqdir. Agar elektron pochta xabarini yuborishni istasangiz, MAIL FROM:. Shundan keyin jo'natuvchining elektron pochta manzili keltirilgan. Qavslarni manzilga qo'yishni unutmang, lekin ( kabi). Bizning misolimizni davom ettiramiz:

Pochta orqali:
250 sender@example.com ... Yuboruvchi o'q

Qabul qiluvchi

Server jo'natuvchining manzilini qabul qilgandan so'ng, mijoz qabul qiluvchining manzilini berishi mumkin. Ushbu operatsiyani bajarish buyrug'i, RCPT TO: yana bir bor ta'sirchan. Men o'zimga xat yozishni xohlayman:

RCPT TO: recipient@example.com
250 support@lifewireguide.com ... Qabul qiluvchilarni OK (navbatda)

Server navbatchilik qilishni quyidagicha anglatadi: mailni mahalliy sifatida saqlaydi va vaqti-vaqti bilan (masalan har 30 daqiqada) boshqa navbatdagi pochta bilan birga yuboradi. Ushbu xatti-sozlash konfiguratsiyaga bog'liq va server pochta xabarlarini darhol yetkazishi mumkin.

Biz deyarli qildik. Hali ham yo'qolgan narsa, muhim bir qism: haqiqiy xabar.

Xabar

Endi "konvert" tugaganidan so'ng, elektron pochta xabarlari ma'lumotlari xuddi shunday bo'lishi mumkin. Ushbu "ma'lumot" elektron pochtaning tanasi va bosh maydonchalaridan iborat .

Serverni xabarni qabul qiladigan holatni ishga tushirish buyrug'i DATA . Buning ortidan elektron pochta xabarining barcha boshlang'ich maydonchalari, keyin esa tananing faqat bitta katta matnli matnini (yoki ma'lumotlar) tashkil qiladi. Serverga kirishning tugallanishi haqida bir satrda bir nuqta tugaganligini bildirish uchun (\ r \ n. \ R \ n). Men xabarimni yuboraman:

DATA
354 Pochta xabarini kiriting, "." Bilan tugating. bir qatorda o'z-o'zidan
Message-ID:
Sana: Yak, 17 Avgust 1997 18:48:15 +0200
Kimdan: Heinz Tschabitscher
Qabul qiluvchi: Heinz Tschabitscher
Mavzu: Summary-Proust Contest uchun

Suyaklarning dunyosiga!
.
250 SAA19153 Xabar yetkazib berish uchun qabul qilinadi

Ha, bu siz kimga: Kimga: maydonida ketgan elektron pochta xabaridan to'liq farq qiladigan ismni ko'rsatishingiz mumkin degan ma'noni anglatadi. Misol uchun, " Qabul qiluvchilarni ro'yxati " »ni ishlatishingiz mumkin.

Nihoya

Endi esa sizdan MAIL FROM: dan qadamlarni takrorlashni xohlaganingiz kabi ko'plab elektron pochta xabarlarini yuborishingiz mumkin . . Agar siz bu ishni tugatgan bo'lsangiz, serverni QUIT buyrug'i bilan tark etsangiz bo'ladi va biz buni bajaramiz:

QUIT
221 Xayr

Qanday qilaman?

Uchrashuvning noan'anaviy echimi sizning chiqish pochta serveri uchun telnet (sizning elektron pochta mijozingizning hisob qaydnomangizdagi manzilini topishingiz mumkin) port 25da.

Oddiy usul bu SMTP protokolini taqlid qilishga urinib ko'radi va sizga dialog orqali sizni yo'naltiradi.