داخل SMTP خارج

كيف يعمل البريد الإلكتروني على الإنترنت

هل سبق لك أن تساءلت عما يحدث عندما تضغط على زر " إرسال" في برنامج البريد الإلكتروني الخاص بك؟ ربما لا ، أعتقد - طالما أنها تعمل. هذا هو بالضبط السبب في أنك يجب أن نتساءل ، على الرغم من. في حالة عدم نجاح شيء ما ، من الجيد معرفة ما لا يعمل. عادة ، هذا هو نصف الحل.

عندما ترسل بريدًا إلكترونيًا ، يبدأ تشغيل SMTP . هو اختصار بروتوكول نقل البريد البسيط بروتوكول SMTP كما هو موضح في RFC 5321: بروتوكول نقل البريد البسيط. يتحدث عميل البريد الخاص بك إلى خادم SMTP باستخدام هذا الإجراء النظيف والبسيط للحصول على البريد الإلكتروني من مكان إلى آخر.

اللعوب

يصبح برنامج البريد الإلكتروني الخاص بك عميل SMTP ، ويتصل بالمنفذ 25 من خادم البريد الخاص بك (عادة ما يكون منفذ SMTP ) و - يقول EHLO . أجهزة الكمبيوتر ، في نهاية المطاف ، ليست سوى الإنسان وما يهم هو أنه يريد أن يكون مهذبا. في الواقع ، لا يحاول أن يكون مهذباً ولكن لاستخدام إضافات لاحقة إلى SMTP التي أحدثت اثنين من النكهات من الأمر HELO الأخير (يتكون أمر SMTP بشكل عام من أربعة أحرف).

اثنين من النكهات من HELO

EHLO ، كونها أحدثها ، تجعل الخادم يعلن عن جميع الميزات الإضافية (مثل إعلام حالة التسليم أو القدرة على نقل الرسائل التي تحتوي على أحرف ASCII غير آمنة) التي يدعمها.

لن يسمح كل خادم بهذا الترحيب ، ولكن يجب عليه قبول HELO عادي والذي يفترض بشكل طبيعي عدم وجود ميزات إضافية. تتطلب كل من أوامر hello العميل لتحديد المجال الخاص به بعد ** LO ، ومع ذلك. في الممارسة العملية ، يبدو هذا مثل:

220 mail.domain.net ESMTP Server
مرحبا
501 HELO يتطلب عنوان المجال
HELO localhost
250 mail.domain.net مرحبًا localhost [127.0.0.1] ، يسعدنا بمقابلتك

( مدخلاتي مكتوبة بخط مائل ، وتكون مخرجات الخادم سوداء ؛ بينما تشير الأسطر التي تبدأ بـ 5 إلى وجود خطأ .)

المرسل

ما تبقى من البروتوكول يستحق حقا السمة بسيطة. إذا كنت تريد إرسال بريد إلكتروني ، فابدأ بالكلمات الرئيسية MAIL FROM:. يلي ذلك عنوان البريد الإلكتروني للمرسل ، كما هو مقترح من. لا تنس وضع قوسين حول العنوان ، على الرغم من ذلك (مثل ). استمرار مثالنا ، لدينا:

البريد من:
250 sender@example.com ... المرسل حسنًا

المتلقي

بعد قبول الخادم لعنوان المرسل ، يمكن للعميل إعطاء عنوان المستلم. الأمر لهذا الإجراء ، RCPT TO: مرة أخرى هي موحية إلى حد ما. اريد ارسال بريد الى نفسي :

RCPT TO: recipient@example.com
250 support@lifewireguide.com ... مستلم موافق (سوف يقف في طابور)

يعني ذلك أن قائمة الانتظار في الخادم تعني أنه: سيحفظ البريد محليًا ويرسله مع جميع البريد في قائمة الانتظار في فواصل زمنية (على سبيل المثال ، كل 30 دقيقة). يعتمد هذا السلوك على التكوين وقد يقوم الخادم أيضًا بتسليم البريد على الفور.

نحن على وشك الانتهاء. ما زال في عداد المفقودين ، هو الجزء المهم: الرسالة الفعلية.

الرسالة

والآن بعد انتهاء "المغلف" ، يمكن أن تتبع بيانات رسالة البريد الإلكتروني تمامًا كما هي. تتكون هذه "البيانات" من نص البريد الإلكتروني بالإضافة إلى حقول الرأس .

الأمر لبدء الحالة التي تجعل الخادم يقبل الرسالة هو DATA . يلي ذلك جميع حقول العناوين في رسالة البريد الإلكتروني ثم الجسم ، وكلاهما يشكلان كتلة واحدة كبيرة من النص (أو البيانات). لإعلام الخادم بإنهاء الإدخال ، يتم استخدام نقطة على سطر بنفسه (\ r \ n. \ r \ n). لذلك أرسل رسالتي:

البيانات
354 أدخل البريد ، وانتهى بـ "." على خط من تلقاء نفسه
معرف الرسالة:
التاريخ: Sun، 17 Aug 1997 18:48:15 +0200
من: Heinz Tschabitscher
To: Heinz Tschabitscher
الموضوع: لمسابقة Summarize-Proust

قبالة إلى عالم سوان!
.
250 SAA19153 الرسالة مقبولة للتسليم

نعم ، هذا يعني أنه يمكنك ذكر اسم مختلف تمامًا عن الاسم الذي ينتقل إليه البريد الإلكتروني في الحقل "إلى:". على سبيل المثال ، يمكنك استخدام " قائمة المستلمين " .

النهاية

يمكنك الآن إرسال العديد من رسائل البريد الإلكتروني كما ترغب في تكرار الخطوات من البريد من: إلى . . إذا انتهيت من ذلك ، فيمكنك إنهاء الخادم باستخدام الأمر QUIT وهذا ما نفعله بالضبط:

استقال
221 وداعا

كيف يمكنني أن أفعل هذا؟

والحل غير البسيط هو الاتصال بشبكة البريد الصادر (يمكنك العثور على عنوانه في إعدادات حساب عميل البريد الإلكتروني الخاص بك) على المنفذ 25.

والطريقة الأسهل هي استخدام برنامج Java هذا ، الذي يحاول محاكاة بروتوكول SMTP ويرشدك خلال مربع الحوار.