SMTP ພາຍໃນອອກ

ວິທີການອີເມວອິນເຕີເນັດເຮັດວຽກ

ທ່ານເຄີຍສົງໄສວ່າມີຫຍັງເກີດຂື້ນເມື່ອທ່ານກົດປຸ່ມ Send ໃນໂປແກຼມອີເມວຂອງທ່ານ? ອາດຈະບໍ່, ຂ້າພະເຈົ້າເດົາ - ມັນສາມາດເຮັດໄດ້. ນີ້ແມ່ນແທ້ເຫດຜົນທີ່ວ່າທ່ານຄວນສົງໄສ, ເຖິງແມ່ນວ່າ. ໃນກໍລະນີບາງສິ່ງບາງຢ່າງບໍ່ໄດ້ເຮັດວຽກມັນດີທີ່ຈະຮູ້ວ່າສິ່ງທີ່ບໍ່ເຮັດວຽກ. ປົກກະຕິແລ້ວ, ວ່າເຄິ່ງຫນຶ່ງຂອງການແກ້ໄຂ.

ເມື່ອທ່ານ ສົ່ງອີເມວ SMTP ເຂົ້າມາຫຼິ້ນ. SMTP ສັ້ນສໍາລັບ Simple Mail Transfer Protocol ຕາມທີ່ກໍານົດໄວ້ໃນ RFC 5321: Simple Mail Transfer Protocol. ລູກຄ້າອີເມວ ຂອງທ່ານ ໂອ້ລົມ ກັບ ເຄື່ອງແມ່ຂ່າຍຂອງ SMTP ໂດຍໃຊ້ ຂັ້ນຕອນທີ່ສະອາດແລະງ່າຍດາຍນີ້ເພື່ອໃຫ້ ອີເມວຈາກ ບ່ອນດຽວກັບບ່ອນອື່ນ.

The Flirt

ໂຄງການອີເມວຂອງທ່ານກາຍເປັນ ລູກຄ້າ SMTP , ເຊື່ອມຕໍ່ກັບ port 25 ຂອງ ເຄື່ອງແມ່ຂ່າຍເມລ ຂອງທ່ານ (ໂດຍປົກກະຕິແມ່ນ ພອດ SMTP ) ແລະ - EHLO ເວົ້າວ່າ. ຄອມພິວເຕີ, ໃນທີ່ສຸດ, ແມ່ນພຽງແຕ່ມະນຸດແລະສິ່ງທີ່ນັບແມ່ນວ່າມັນຕ້ອງການທີ່ຈະລະມັດລະວັງ. ຕົວຈິງແລ້ວ, ມັນບໍ່ໄດ້ພະຍາຍາມທີ່ຈະລະມັດລະວັງແຕ່ໃຊ້ຕື່ມອີກຕໍ່ໄປກັບ SMTP ເຊິ່ງໄດ້ນໍາເອົາສອງປະເພດຂອງຄໍາສັ່ງ HELO ຕໍ່ມາ (SMTP ຄໍາສັ່ງໂດຍປົກກະຕິປະກອບດ້ວຍສີ່ລັກສະນະ).

Two Flavors of HELO

EHLO ເປັນການເຮັດໃຫ້ເຄື່ອງແມ່ຂ່າຍສາມາດໂຄສະນາຄຸນສົມບັດເພີ່ມເຕີມທັງຫມົດ (ເຊັ່ນການແຈ້ງການສະຖານະການຈັດສົ່ງຫຼືຄວາມສາມາດໃນການຂົນສົ່ງຂໍ້ຄວາມທີ່ບໍ່ມີລັກສະນະ ASCII ທີ່ປອດໄພ).

ບໍ່ແມ່ນເຄື່ອງແມ່ຂ່າຍທຸກໆຄົນຈະອະນຸຍາດໃຫ້ຄໍາຊົມເຊີຍນີ້, ແຕ່ວ່າມັນຈໍາເປັນຕ້ອງຍອມຮັບ HELO ທົ່ງພຽງທີ່ຄາດວ່າຈະບໍ່ມີລັກສະນະເພີ່ມເຕີມ. ຄໍາສັ່ງ hello ທັງສອງຕ້ອງການໃຫ້ລູກຄ້າຈະລະບຸຊື່ໂດເມນຂອງຕົນຫຼັງຈາກທີ່ ** LO, ຢ່າງໃດກໍຕາມ. ໃນການປະຕິບັດ, ນີ້ເບິ່ງຄືວ່າ:

220 maildomainnet ESMTP Server
HELO
501 HELO ຕ້ອງການທີ່ຢູ່ໂດເມນ
HELO localhost
250 maildomainnet Hello localhost [127001], ຍິນດີທີ່ຈະພົບຄຸນ

(ຂໍ້ມູນຂອງຂ້າພະເຈົ້າແມ່ນຢູ່ໃນ ຕົວຈິງ , ຜົນຜະລິດຂອງເຄື່ອງແມ່ຂ່າຍແມ່ນສີດໍາ, ເສັ້ນເລີ່ມຕົ້ນດ້ວຍ 5 ຊີ້ບອກວ່າ ເປັນຂໍ້ຜິດພາດ ).

ຜູ້ສົ່ງໄດ້

ສ່ວນທີ່ເຫລືອຂອງໂປໂຕຄອນຄວນສົມເຫດສົມຜົນງ່າຍໆ. ຖ້າທ່ານຕ້ອງການສົ່ງອີເມວ, ທ່ານຈະເລີ່ມຕົ້ນດ້ວຍຄໍາສໍາຄັນ MAIL FROM:. ດັ່ງຕໍ່ໄປນີ້ມາ ທີ່ຢູ່ອີເມວ ຂອງຜູ້ສົ່ງ, ຕາມການແນະນໍາຈາກຈາກ. ຢ່າລືມໃສ່ວົງເລັບທີ່ຢູ່ອ້ອມຮອບທີ່ຢູ່, ເຖິງແມ່ນວ່າ (ເຊັ່ນ ). ສືບຕໍ່ຕົວຢ່າງຂອງພວກເຮົາ, ພວກເຮົາມີ:

MAIL FROM:
250 sender@example.com Sender ok

ຜູ້ຮັບ

ຫຼັງຈາກເຄື່ອງແມ່ຂ່າຍໄດ້ຮັບເອົາທີ່ຢູ່ຂອງຜູ້ສົ່ງ, ລູກຄ້າສາມາດໃຫ້ທີ່ຢູ່ຂອງຜູ້ຮັບ. ຄໍາສັ່ງສໍາລັບການປະຕິບັດນີ້, RCPT TO: ອີກເທື່ອຫນຶ່ງແມ່ນສະເຫນີແນະແທນ. ຂ້ອຍຕ້ອງການສົ່ງອີເມວ ໄປຫາຕົວເອງ :

RCPT TO: recipient @ example.com
250 support @ lifewireguide.com ຜູ້ຮັບ ok (ຈະວາງແຖວ)

ວ່າເຄື່ອງແມ່ຂ່າຍຂອງຄິວຈະຫມາຍຄວາມວ່າ: ມັນຈະຊ່ວຍປະຢັດອີເມລ໌ຢູ່ທ້ອງຖິ່ນແລະສົ່ງມັນພ້ອມກັບທຸກອີເມວຄິວອື່ນໆໃນໄລຍະເວລາຕ່າງໆ (ຕົວຢ່າງ, ທຸກໆ 30 ນາທີ). ພຶດຕິກໍານີ້ແມ່ນຂຶ້ນກັບການຕັ້ງຄ່າແລະເຄື່ອງແມ່ຂ່າຍກໍ່ສາມາດສົ່ງອີເມວໄດ້ທັນທີ.

ພວກເຮົາກໍາລັງເກືອບເຮັດ. ສິ່ງທີ່ຍັງຂາດຫາຍໄປ, ເຖິງແມ່ນວ່າ, ແມ່ນສ່ວນຫນຶ່ງທີ່ສໍາຄັນ: ຂໍ້ຄວາມຕົວຈິງ.

The Message

ໃນປັດຈຸບັນວ່າ "ຊອງຈົດຫມາຍ" ແມ່ນສໍາເລັດແລ້ວ, ຂໍ້ມູນຂອງຂໍ້ຄວາມອີເມວທີ່ມັນສາມາດປະຕິບັດໄດ້. ຂໍ້ມູນນີ້ "ປະກອບດ້ວຍ ຮ່າງກາຍ ຂອງອີເມລ໌ເຊັ່ນດຽວກັນກັບ ຂໍ້ຄວາມຫົວຂໍ້ .

ຄໍາສັ່ງທີ່ຈະເລີ່ມຕົ້ນລັດທີ່ເຮັດໃຫ້ເຄື່ອງແມ່ຂ່າຍຮັບເອົາຂໍ້ຄວາມແມ່ນ DATA . ດັ່ງຕໍ່ໄປນີ້ແມ່ນທຸກຫົວຂໍ້ຂອງຫົວຂໍ້ຂໍ້ຄວາມອີເມວແລະຫຼັງຈາກນັ້ນຮ່າງກາຍ, ທັງສອງເຮັດໃຫ້ພຽງແຕ່ຫນຶ່ງຕັນຂະຫນາດໃຫຍ່ຂອງຂໍ້ຄວາມ (ຫຼືຂໍ້ມູນ). ບອກກັບເຄື່ອງແມ່ຂ່າຍວ່າການໃສ່ຂໍ້ມູນສໍາເລັດແລ້ວຈຸດທີ່ຢູ່ໃນເສັ້ນໂດຍຕົວເອງຖືກນໍາໃຊ້ (\ r \ n \ r \ n). ສະນັ້ນຂ້າພະເຈົ້າສົ່ງຂໍ້ຄວາມຂອງຂ້າພະເຈົ້າ:

DATA
354 ກະລຸນາໃສ່ອີເມວ, ຈົບລົງດ້ວຍ "". ໃນສາຍດຽວກັນ
ຫມາຍເລກຂໍ້ຄວາມ:
ວັນທີ່: Sun, 17 Aug 1997 18:48:15 +0200
ຈາກ: Heinz Tschabitscher
ໃຫ້: Heinz Tschabitscher
ຫົວຂໍ້: ສໍາລັບການແຂ່ງຂັນ Summarize-Proust

ປິດໂລກຂອງ Swan!
ທີ່ຢູ່
250 SAA19153 ຂໍ້ຄວາມທີ່ຍອມຮັບສໍາລັບການສົ່ງ

ແມ່ນແລ້ວ, ນີ້ຫມາຍຄວາມວ່າທ່ານສາມາດລະບຸຊື່ທີ່ແຕກຕ່າງກັນຫມົດຈາກອີເມວຫນຶ່ງໄປໃນໃນ To: field. ຕົວຢ່າງເຊັ່ນ, ທ່ານສາມາດໃຊ້ " ບັນຊີລາຍຊື່ບັນດາຜູ້ທີ່ ຖືກລຶບຖິ້ມ" .

ຈົບ

ຕອນນີ້ທ່ານສາມາດສົ່ງ ອີເມວ ຫຼາຍເທົ່າທີ່ທ່ານຕ້ອງການເຮັດຊ້ໍາຂັ້ນຕອນຈາກ MAIL FROM: to . ທີ່ຢູ່ ຖ້າທ່ານເຮັດແບບນັ້ນ, ທ່ານອາດຈະເຊົາເຄື່ອງແມ່ຂ່າຍທີ່ມີຄໍາສັ່ງ QUIT ແລະນັ້ນຄືສິ່ງທີ່ພວກເຮົາເຮັດ:

QUIT
221 Goodbye

ຂ້ອຍຈະເຮັດແນວໃດ?

ການແກ້ໄຂທີ່ບໍ່ແມ່ນ trivial ແມ່ນການ telnet ກັບ ເຄື່ອງແມ່ຂ່າຍທາງອີເມວຂອງ ທ່ານ (ທ່ານສາມາດຊອກຫາທີ່ຢູ່ໃນ ການຕັ້ງຄ່າບັນຊີຂອງລູກຄ້າອີເມວ ຂອງທ່ານ) ທີ່ port 25.

ວິທີທີ່ງ່າຍດາຍແມ່ນການນໍາໃຊ້ applet Java ນີ້ , ເຊິ່ງພະຍາຍາມທີ່ຈະປະຕິບັດຕາມໂປໂຕຄອນ SMTP ແລະນໍາພາທ່ານຜ່ານກ່ອງໂຕ້ຕອບ.