كيفية التحقق من اتصال SMTP باستخدام جلسة Telnet يدوية
طائر
07/02/2020
البريد الإلكتروني
1 min read

النقاط الرئيسية
اختبار تلنت اليدوي هو وسيلة سريعة ومنخفضة التقنية لتشخيص مشكلات الاتصال والتكوين في SMTP.
استخدمها للتحقق مما إذا كان خادم SMTP قابل للوصول ومكون بشكل صحيح ويقبل الاتصالات.
يمكن للاختبار أن يكشف عن المنافذ المحظورة وقيود النقل وأخطاء DNS أو مشكلات توافق TLS.
تشمل أوامر SMTP الأساسية EHLO/HELO وMAIL FROM وRCPT TO وDATA وQUIT.
المنفذ 25 هو المعيار للنقل، بينما 465 و587 تُستخدمان للإرسال الآمن.
المصادقة المشفرة Base64 (AUTH LOGIN) مطلوبة عندما تطلب الخوادم بيانات اعتماد تسجيل الدخول.
يمكن لأدوات مثل Swaks أو منصات اختبار البريد الإلكتروني المتكاملة أن تؤتمت وتوسع خطوات تشخيص تلنت.
أهم النقاط في الأسئلة والأجوبة
لماذا تستخدم تلنت بدلاً من أداة اختبار البريد الإلكتروني المخصصة؟
تمنحك Telnet رؤية مباشرة في حوار SMTP الخام. إنها لا تقدر بثمن لاستكشاف الأخطاء وإصلاحها على مستوى البروتوكول وتأكيد ردود خادم بدون طبقات طرف ثالث.
ما هي أسرع طريقة لمعرفة ما إذا كان منفذ SMTP الخاص بي مقفلاً؟
قم بتشغيل
telnet mail.example.com 25. إذا رأيت “تم رفض الاتصال”، فمن المحتمل أن يقوم مزود خدمة الإنترنت الخاص بك أو المضيف بحظر المنفذ.هل أحتاج إلى التحقق عند الاختبار باستخدام تل نت؟
فقط إذا كان خادم البريد يتطلب مصادقة. استخدم الأمر
AUTH LOGINوأرسل اسم المستخدم وكلمة المرور الخاصة بك مشفرة باستخدام Base64.هل يمكنني إرسال بريد إلكتروني كامل من خلال تلنت؟
نعم. بعد
DATA، أضف رؤوسك وجسمك، وانتهِ بنقطة مفردة(.)في سطر مستقل، ثم اكتبQUIT.هل تلنت آمن لاختبار SMTP؟
لا. ترسل Telnet البيانات بنص عادي. استخدمها فقط للاختبار في بيئات آمنة ومراقبة. للاتصالات الآمنة، اختبر عبر TLS باستخدام أدوات تدعم STARTTLS.
في عالم البريد الإلكتروني، هناك العديد من الجوانب للاختبار، لكن واحدة من أبسط الاختبارات التي يمكنك القيام بها هي ببساطة الاتصال بسيرفر SMTP معين عبر telnet. يعتبر هذا الفحص لـ SMTP مفيدًا في تحديد ما إذا كانت أبسط المشكلات موجودة أم لا.
في عالم البريد الإلكتروني، هناك العديد من جوانب الاختبار، ولكن واحدة من أبسط الاختبارات التي يمكنك القيام بها هي ببساطة الاتصال بخادم SMTP معين. هذه التحقق من SMTP مفيد في تحديد ما إذا كانت أكثر المشاكل الأساسية موجودة أم لا.
هل الخادم يعمل؟
هل هناك جدار ناري يحجب الاتصال؟
هل يسمح خادم البريد بإعادة توجيه نطاق/عنوان بريد إلكتروني معين؟
ما هي أوامر SMTP التي يدعمها خادم البريد؟
هل يستجيب الخادم بالاسم المضيف الصحيح؟
هل تعمل الاتصال خارج أي برامج أو واجهات برمجة تطبيقات طرف ثالث؟
يمكن الإجابة على كل هذه الأسئلة وأكثر من خلال اختبار telnet بسيط.
قبل أن نبدأ، تأكد من فتح القطعة المصاحبة لهذه المشاركة: إلى أين تُرسل رسائل الارتداد؟ في علامة تبويب جديدة حتى تتمكن من قراءتها بعد الانتهاء من هذه المدونة.
كملاحظة، فإن الأوامر المستخدمة في الأمثلة التالية (بالإضافة إلى أوامر إضافية) تم تغطيتها في القسم 4.1 من RFC 2821.
في عالم البريد الإلكتروني، هناك العديد من جوانب الاختبار، ولكن واحدة من أبسط الاختبارات التي يمكنك القيام بها هي ببساطة الاتصال بخادم SMTP معين. هذه التحقق من SMTP مفيد في تحديد ما إذا كانت أكثر المشاكل الأساسية موجودة أم لا.
هل الخادم يعمل؟
هل هناك جدار ناري يحجب الاتصال؟
هل يسمح خادم البريد بإعادة توجيه نطاق/عنوان بريد إلكتروني معين؟
ما هي أوامر SMTP التي يدعمها خادم البريد؟
هل يستجيب الخادم بالاسم المضيف الصحيح؟
هل تعمل الاتصال خارج أي برامج أو واجهات برمجة تطبيقات طرف ثالث؟
يمكن الإجابة على كل هذه الأسئلة وأكثر من خلال اختبار telnet بسيط.
قبل أن نبدأ، تأكد من فتح القطعة المصاحبة لهذه المشاركة: إلى أين تُرسل رسائل الارتداد؟ في علامة تبويب جديدة حتى تتمكن من قراءتها بعد الانتهاء من هذه المدونة.
كملاحظة، فإن الأوامر المستخدمة في الأمثلة التالية (بالإضافة إلى أوامر إضافية) تم تغطيتها في القسم 4.1 من RFC 2821.
في عالم البريد الإلكتروني، هناك العديد من جوانب الاختبار، ولكن واحدة من أبسط الاختبارات التي يمكنك القيام بها هي ببساطة الاتصال بخادم SMTP معين. هذه التحقق من SMTP مفيد في تحديد ما إذا كانت أكثر المشاكل الأساسية موجودة أم لا.
هل الخادم يعمل؟
هل هناك جدار ناري يحجب الاتصال؟
هل يسمح خادم البريد بإعادة توجيه نطاق/عنوان بريد إلكتروني معين؟
ما هي أوامر SMTP التي يدعمها خادم البريد؟
هل يستجيب الخادم بالاسم المضيف الصحيح؟
هل تعمل الاتصال خارج أي برامج أو واجهات برمجة تطبيقات طرف ثالث؟
يمكن الإجابة على كل هذه الأسئلة وأكثر من خلال اختبار telnet بسيط.
قبل أن نبدأ، تأكد من فتح القطعة المصاحبة لهذه المشاركة: إلى أين تُرسل رسائل الارتداد؟ في علامة تبويب جديدة حتى تتمكن من قراءتها بعد الانتهاء من هذه المدونة.
كملاحظة، فإن الأوامر المستخدمة في الأمثلة التالية (بالإضافة إلى أوامر إضافية) تم تغطيتها في القسم 4.1 من RFC 2821.
كيف أرسل بريدًا إلكترونيًا باستخدام Telnet؟
إرسال البريد الإلكتروني عبر telnet يمكن أن يساعدك في تحديد مشاكل التسليم ضمن تكوينك الحالي.
قبل أن ترسل بريدًا إلكترونيًا باستخدام telnet، تأكد من أن telnet مثبت ومفعل على جهاز الكمبيوتر الخاص بك. معظم أجهزة الكمبيوتر تأتي مثبتة مسبقًا مع عميل telnet. بالنسبة لتلك الإصدارات من ويندوز التي لا تحتوي على ذلك، يمكن تثبيته عن طريق فتح قسم "برامج وميزات" في لوحة التحكم واختيار "تشغيل ميزات ويندوز أو إيقاف تشغيلها". عند فتح هذه النافذة، اختر "عميل telnet" ثم انقر فوق "موافق".
بعد التحقق من تثبيت عميل telnet على الخادم، افتح نافذة الطرفية حيث ستدخل أوامر المحفز الخاصة بك. على نظام ويندوز، استخدم Windows + R، ثم اكتب "cmd" واضغط على Enter. بالنسبة لمستخدمي ماك، يمكنك العثور على أيقونة الطرفية عن طريق فتح Finder والبحث عن "الأدوات المساعدة" في صفحة التطبيقات، أو بإدخال "terminal" في وظيفة بحث Launchpad.
بعد ذلك، نحتاج للعثور على خادم بريد لتسجيل الدخول إليه. لذلك، سنحتاج إلى سجل DNS MX لنطاق معين. يمكن العثور على ذلك باستخدام الأمر التالي (في هذه الأمثلة ستستخدم port25.com، ولكن يمكن استبداله بأي نطاق):
ويندوز:
nslookup -type=mx port25.com Non-authoritative answer: port25.com MX preference = 100, mail exchanger = mail.port25.com
لينكس:
nslookup -type=mx port25.com Non-authoritative answer: port25.com mail exchanger = 100 mail.port25.com
مرجع سريع لمنافذ SMTP
إليك مرجع سريع لمنافذ إرسال SMTP الشائعة ومتى يجب استخدامها:
المنفذ | التشفير | حالة الاستخدام النموذجية | ملاحظات |
|---|---|---|---|
25 | بدون / TLS عشوائي | توجيه من خادم إلى آخر | غالبًا ما يتم حظره من قبل مزودي خدمات الإنترنت لأغراض مكافحة البريد العشوائي |
465 | SSL/TLS ضمني | إرسال مؤمن قديم | تم إلغاؤه ولكنه لا يزال مستخدمًا من قبل الأنظمة القديمة |
587 | STARTTLS | إرسال مؤمن حديث | موصى به لإرسال البريد الإلكتروني من العميل |
لإعداد وتكوين متقدم لخادم البريد، انظر دليلنا حول نصائح تكوين PowerMTA. إذا كان جسر SMTP الخاص بك يستخدم منفذًا مختلفًا عن 25 كما هو موضح في المثال، ستستخدم المنفذ المحدد من رد خادم تبادل البريد على nslookup. يمكنك أيضًا التحقق من المنفذ الذي يعتمد عليه SMTP الخاص بك من خلال سؤال المسؤول أو تسجيل الدخول إلى خادم تبادل البريد ومراجعة البروتوكولات.
بعد ذلك، نحتاج إلى DNS PTR لعنوان IP الذي سنستخدمه. أولاً، نحن بحاجة إلى معرفة عنوان IP الذي يراه الإنترنت لدينا. للعثور على ذلك، يمكننا استخدام موقع ويب مثل:
مع عنوان IP، قم بتشغيل الأمر التالي، حيث يكون A.B.C.D هو عنوان IP.
ويندوز:
nslookup -type=ptr A.B.C.D Non-authoritative answer: D.C.B.A.in-addr.arpa name = server.example.com
لينكس:
nslookup -type=ptr A.B.C.D Non-authoritative answer: D.C.B.A.in-addr.arpa name = server.example.com
server.example.com هو مجرد مثال، ونتائجك ستكون مختلفة.
الآن بعد أن لدينا سجل MX لـ port25.com و PTR لعنوان IP الذي سنستخدمه، حان الوقت لتسجيل الدخول إلى خادم SMTP. للقيام بذلك، استخدم الأمر التالي:
telnet mail.port25.com 25
يجب أن يظهر شيء مشابه لما يلي:
Trying 69.63.149.30... Connected to mail.port25.com (69.63.149.30). Escape character is '^]'. 220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready
إذا تلقيت رسالة خطأ مثل "لا يمكن الاتصال" في هذه المرحلة، فإن رقم المنفذ صحيح أو أن خادم البريد يعاني من مشاكل.
الأمر الأول الذي نحتاج إلى إصداره إلى خادم البريد للحصول على اختبار بريد SMTP هو EHLO أو HELO. هذا تحية أساسية تبدأ الاتصال بين عميل telnet وخادم SMTP. كما تم تمرير DNS PTR لعنوان IP الذي نتصل منه حسب ما تم تحديده سابقًا.
EHLO server.example.com
يجب أن يُرد بإفراح مشابه لما يلي:
250-mail.port25.com says hello 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-8BITMIME 250-XACK 250-XMRG 250-SIZE 54525952 250-VERP 250 DSN
هذا يُظهر أوامر SMTP التي يقبلها خادم SMTP. ليست كل خوادم SMTP تدعم نفس مجموعة الأوامر. على سبيل المثال، يظهر ياهو فقط ما يلي:
250-8BITMIME 250-SIZE 41943040 250 PIPELINING
وأيضًا، AOL لا تظهر إلا واحدًا:
250 DSN
الأمر التالي الذي نحتاج إلى إصداره هو أمر MAIL FROM. هذا يحدد العنوان الذي يتم إرسال ارتدادات البريد إليه. هذا ليس هو نفس عنوان "من"، الذي يظهر في عميل البريد الإلكتروني.
MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok
تأكد من استخدام اسم النطاق الذي يتوافق مع نطاق خادم البريد الخاص بك. على سبيل المثال، إذا كان نطاق بريدك الإلكتروني هو anycompany.com، فستريد استخدام you@anycompany.com بدلاً من بريد إلكتروني خارجي مثل you@free-mail-provider.com. يمكن أن يؤدي تباين أسماء النطاق إلى ظهور رسالة خطأ.
الآن بعد أن تم إرسال أمر MAIL FROM ، يمكننا إرسال أمر RCPT TO . هذا الأمر يُخبر خادم بريد SMTP إلى من يجب إرسال الرسالة. يمكن أن تكون هذه الإشارة هي نفس أو مختلفة عن رأس "إلى"، الذي هو عنوان البريد الإلكتروني المُظهر في عميل البريد الإلكتروني.
RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok
تحقق مرة أخرى من عنوان المستلم الخاص بك قبل إرسال أمر RCPT TO - قد تشير رسالة خطأ هنا إلى أن عنوان البريد الإلكتروني المرسل إليه يحتوي على أخطاء إملائية أو محظور.
الأمر الأخير الذي يجب تشغيله قبل البدء في محتوى الرسالة هو أمر DATA . هذا الأمر يُخبر خادم بريد SMTP أن كل شيء آخر سيُرسل هو جسم الرسالة (الذي يحتوي أيضًا على الرؤوس).
DATA 354 إرسال الرسالة
من المهم ملاحظة أنه إذا كان خادم البريد يدعم PIPELINING، كما يفعل mail.port25.com، فقد ينتظر خادم البريد SMTP حتى يتم إصدار أمر DATA قبل الرد على أي أوامر أخرى بعد EHLO/HELO. في هذه الحالة، أدخل أوامر MAIL FROM و RCPT TO و DATA قبل انتظار الرد.
الآن بعد أن تم إرسال أمر DATA يمكننا البدء في إرسال محتويات الرسالة. هذا يبدأ مع الرؤوس المختلفة. في الحد الأدنى، يجب أن تحتوي الرسالة على "إلى"، "من"، "موضوع"، و"تاريخ" رأس. ستظهر الرؤوس المدخلة هنا للمستخدم في عميل البريد الإلكتروني.
From: "John Smith" <jsmith@port25.com> To: "Jane Doe" <jdoe@port25.com> Subject: test message sent from manual telnet session Date: Wed, 11 May 2011 16:19:57 -0400
مع إعداد الرؤوس، نضيف الآن سطر فارغ واحد مع عودة متعلقة/تغذية سطر (فقط اضغط على Enter مرتين) ثم نبدأ في جسم الرسالة الفعلي.
مرحبًا بالعالم، هذه رسالة اختبار أرسلت من جلسة telnet اليدوية. بإخلاص، مسؤول SMTP
مع اكتمال الرسالة، نحتاج إلى إخبار خادم SMTP أننا انتهينا من الرسالة ونريد من خادم بريد SMTP قبولها. يتم ذلك بنقطة في سطر بمفردها. إذا تطلب الأمر خلال كتابة الرسالة نقطة في سطر بمفردها، يجب عليك وضع نقطتين، الأولى للهروب من الثانية.
. 250 2.6.0 رسالة تم استلامها
إذا تلقيت رسالة خطأ بدلاً من إشعار "تم الاستلام"، قم بتسجيل التفاصيل ذات الصلة واتصل بمزود البريد الإلكتروني الخاص بك للحصول على مزيد من المساعدة. قد تتعلق مشكلات الاتصال أيضًا بالبروتوكولات الأمنية - تأكد من أنك تستخدم TLS 1.2 أو أعلى للاتصالات الآمنة.
أخيرًا، يتم إرسال أمر QUIT لإغلاق الاتصال:
QUIT 221 2.0.0 mail.port25.com يقول وداعًا
بهذا، يكون خادم البريد قد قبل الرسالة الآن للتسليم، واختبار إرسال البريد الإلكتروني عبر telnet لديك قد اكتمل، ويجب أن تكون الرسالة الآن في صندوق الوارد لعنوان RCPT TO!!!
إليك جميع الأوامر بدون انقطاع:
telnet mail.port25.com 25 Trying 69.63.149.30... Connected to mail.port25.com (69.63.149.30). Escape character is '^]'. 220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready EHLO server.example.com 250-mail.port25.com says hello 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-8BITMIME 250-XACK 250-XMRG 250-SIZE 54525952 250-VERP 250 DSN MAIL FROM:<support@port25.com> 250 2.1.0 MAIL ok RCPT TO:<support@port25.com> 250 2.1.5 <support@port25.com> ok DATA 354 send message From: "John Smith" <jsmith@port25.com> To: "Jane Doe" <jdoe@port25.com> Subject: test message sent from manual telnet session Date: Wed, 11 May 2011 16:19:57 -0400 Hello World, This is a test message sent from a manual telnet session. Yours truly, SMTP administrator . 250 2.6.0 message received QUIT 221 2.0.0 mail.port25.com says goodbye
إرسال بريد إلكتروني باستخدام telnet يتيح لك اختبار قدرات الاتصال بسرعة وبتكلفة أقل من معدات أو برامج تشخيصية متطورة. لمزيد من أدوات اختبار SMTP المتقدمة، ضع في اعتبارك استخدام Swaks مع SparkPost للاختبار الشامل للبريد الإلكتروني.
إرسال البريد الإلكتروني عبر telnet يمكن أن يساعدك في تحديد مشاكل التسليم ضمن تكوينك الحالي.
قبل أن ترسل بريدًا إلكترونيًا باستخدام telnet، تأكد من أن telnet مثبت ومفعل على جهاز الكمبيوتر الخاص بك. معظم أجهزة الكمبيوتر تأتي مثبتة مسبقًا مع عميل telnet. بالنسبة لتلك الإصدارات من ويندوز التي لا تحتوي على ذلك، يمكن تثبيته عن طريق فتح قسم "برامج وميزات" في لوحة التحكم واختيار "تشغيل ميزات ويندوز أو إيقاف تشغيلها". عند فتح هذه النافذة، اختر "عميل telnet" ثم انقر فوق "موافق".
بعد التحقق من تثبيت عميل telnet على الخادم، افتح نافذة الطرفية حيث ستدخل أوامر المحفز الخاصة بك. على نظام ويندوز، استخدم Windows + R، ثم اكتب "cmd" واضغط على Enter. بالنسبة لمستخدمي ماك، يمكنك العثور على أيقونة الطرفية عن طريق فتح Finder والبحث عن "الأدوات المساعدة" في صفحة التطبيقات، أو بإدخال "terminal" في وظيفة بحث Launchpad.
بعد ذلك، نحتاج للعثور على خادم بريد لتسجيل الدخول إليه. لذلك، سنحتاج إلى سجل DNS MX لنطاق معين. يمكن العثور على ذلك باستخدام الأمر التالي (في هذه الأمثلة ستستخدم port25.com، ولكن يمكن استبداله بأي نطاق):
ويندوز:
nslookup -type=mx port25.com Non-authoritative answer: port25.com MX preference = 100, mail exchanger = mail.port25.com
لينكس:
nslookup -type=mx port25.com Non-authoritative answer: port25.com mail exchanger = 100 mail.port25.com
مرجع سريع لمنافذ SMTP
إليك مرجع سريع لمنافذ إرسال SMTP الشائعة ومتى يجب استخدامها:
المنفذ | التشفير | حالة الاستخدام النموذجية | ملاحظات |
|---|---|---|---|
25 | بدون / TLS عشوائي | توجيه من خادم إلى آخر | غالبًا ما يتم حظره من قبل مزودي خدمات الإنترنت لأغراض مكافحة البريد العشوائي |
465 | SSL/TLS ضمني | إرسال مؤمن قديم | تم إلغاؤه ولكنه لا يزال مستخدمًا من قبل الأنظمة القديمة |
587 | STARTTLS | إرسال مؤمن حديث | موصى به لإرسال البريد الإلكتروني من العميل |
لإعداد وتكوين متقدم لخادم البريد، انظر دليلنا حول نصائح تكوين PowerMTA. إذا كان جسر SMTP الخاص بك يستخدم منفذًا مختلفًا عن 25 كما هو موضح في المثال، ستستخدم المنفذ المحدد من رد خادم تبادل البريد على nslookup. يمكنك أيضًا التحقق من المنفذ الذي يعتمد عليه SMTP الخاص بك من خلال سؤال المسؤول أو تسجيل الدخول إلى خادم تبادل البريد ومراجعة البروتوكولات.
بعد ذلك، نحتاج إلى DNS PTR لعنوان IP الذي سنستخدمه. أولاً، نحن بحاجة إلى معرفة عنوان IP الذي يراه الإنترنت لدينا. للعثور على ذلك، يمكننا استخدام موقع ويب مثل:
مع عنوان IP، قم بتشغيل الأمر التالي، حيث يكون A.B.C.D هو عنوان IP.
ويندوز:
nslookup -type=ptr A.B.C.D Non-authoritative answer: D.C.B.A.in-addr.arpa name = server.example.com
لينكس:
nslookup -type=ptr A.B.C.D Non-authoritative answer: D.C.B.A.in-addr.arpa name = server.example.com
server.example.com هو مجرد مثال، ونتائجك ستكون مختلفة.
الآن بعد أن لدينا سجل MX لـ port25.com و PTR لعنوان IP الذي سنستخدمه، حان الوقت لتسجيل الدخول إلى خادم SMTP. للقيام بذلك، استخدم الأمر التالي:
telnet mail.port25.com 25
يجب أن يظهر شيء مشابه لما يلي:
Trying 69.63.149.30... Connected to mail.port25.com (69.63.149.30). Escape character is '^]'. 220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready
إذا تلقيت رسالة خطأ مثل "لا يمكن الاتصال" في هذه المرحلة، فإن رقم المنفذ صحيح أو أن خادم البريد يعاني من مشاكل.
الأمر الأول الذي نحتاج إلى إصداره إلى خادم البريد للحصول على اختبار بريد SMTP هو EHLO أو HELO. هذا تحية أساسية تبدأ الاتصال بين عميل telnet وخادم SMTP. كما تم تمرير DNS PTR لعنوان IP الذي نتصل منه حسب ما تم تحديده سابقًا.
EHLO server.example.com
يجب أن يُرد بإفراح مشابه لما يلي:
250-mail.port25.com says hello 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-8BITMIME 250-XACK 250-XMRG 250-SIZE 54525952 250-VERP 250 DSN
هذا يُظهر أوامر SMTP التي يقبلها خادم SMTP. ليست كل خوادم SMTP تدعم نفس مجموعة الأوامر. على سبيل المثال، يظهر ياهو فقط ما يلي:
250-8BITMIME 250-SIZE 41943040 250 PIPELINING
وأيضًا، AOL لا تظهر إلا واحدًا:
250 DSN
الأمر التالي الذي نحتاج إلى إصداره هو أمر MAIL FROM. هذا يحدد العنوان الذي يتم إرسال ارتدادات البريد إليه. هذا ليس هو نفس عنوان "من"، الذي يظهر في عميل البريد الإلكتروني.
MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok
تأكد من استخدام اسم النطاق الذي يتوافق مع نطاق خادم البريد الخاص بك. على سبيل المثال، إذا كان نطاق بريدك الإلكتروني هو anycompany.com، فستريد استخدام you@anycompany.com بدلاً من بريد إلكتروني خارجي مثل you@free-mail-provider.com. يمكن أن يؤدي تباين أسماء النطاق إلى ظهور رسالة خطأ.
الآن بعد أن تم إرسال أمر MAIL FROM ، يمكننا إرسال أمر RCPT TO . هذا الأمر يُخبر خادم بريد SMTP إلى من يجب إرسال الرسالة. يمكن أن تكون هذه الإشارة هي نفس أو مختلفة عن رأس "إلى"، الذي هو عنوان البريد الإلكتروني المُظهر في عميل البريد الإلكتروني.
RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok
تحقق مرة أخرى من عنوان المستلم الخاص بك قبل إرسال أمر RCPT TO - قد تشير رسالة خطأ هنا إلى أن عنوان البريد الإلكتروني المرسل إليه يحتوي على أخطاء إملائية أو محظور.
الأمر الأخير الذي يجب تشغيله قبل البدء في محتوى الرسالة هو أمر DATA . هذا الأمر يُخبر خادم بريد SMTP أن كل شيء آخر سيُرسل هو جسم الرسالة (الذي يحتوي أيضًا على الرؤوس).
DATA 354 إرسال الرسالة
من المهم ملاحظة أنه إذا كان خادم البريد يدعم PIPELINING، كما يفعل mail.port25.com، فقد ينتظر خادم البريد SMTP حتى يتم إصدار أمر DATA قبل الرد على أي أوامر أخرى بعد EHLO/HELO. في هذه الحالة، أدخل أوامر MAIL FROM و RCPT TO و DATA قبل انتظار الرد.
الآن بعد أن تم إرسال أمر DATA يمكننا البدء في إرسال محتويات الرسالة. هذا يبدأ مع الرؤوس المختلفة. في الحد الأدنى، يجب أن تحتوي الرسالة على "إلى"، "من"، "موضوع"، و"تاريخ" رأس. ستظهر الرؤوس المدخلة هنا للمستخدم في عميل البريد الإلكتروني.
From: "John Smith" <jsmith@port25.com> To: "Jane Doe" <jdoe@port25.com> Subject: test message sent from manual telnet session Date: Wed, 11 May 2011 16:19:57 -0400
مع إعداد الرؤوس، نضيف الآن سطر فارغ واحد مع عودة متعلقة/تغذية سطر (فقط اضغط على Enter مرتين) ثم نبدأ في جسم الرسالة الفعلي.
مرحبًا بالعالم، هذه رسالة اختبار أرسلت من جلسة telnet اليدوية. بإخلاص، مسؤول SMTP
مع اكتمال الرسالة، نحتاج إلى إخبار خادم SMTP أننا انتهينا من الرسالة ونريد من خادم بريد SMTP قبولها. يتم ذلك بنقطة في سطر بمفردها. إذا تطلب الأمر خلال كتابة الرسالة نقطة في سطر بمفردها، يجب عليك وضع نقطتين، الأولى للهروب من الثانية.
. 250 2.6.0 رسالة تم استلامها
إذا تلقيت رسالة خطأ بدلاً من إشعار "تم الاستلام"، قم بتسجيل التفاصيل ذات الصلة واتصل بمزود البريد الإلكتروني الخاص بك للحصول على مزيد من المساعدة. قد تتعلق مشكلات الاتصال أيضًا بالبروتوكولات الأمنية - تأكد من أنك تستخدم TLS 1.2 أو أعلى للاتصالات الآمنة.
أخيرًا، يتم إرسال أمر QUIT لإغلاق الاتصال:
QUIT 221 2.0.0 mail.port25.com يقول وداعًا
بهذا، يكون خادم البريد قد قبل الرسالة الآن للتسليم، واختبار إرسال البريد الإلكتروني عبر telnet لديك قد اكتمل، ويجب أن تكون الرسالة الآن في صندوق الوارد لعنوان RCPT TO!!!
إليك جميع الأوامر بدون انقطاع:
telnet mail.port25.com 25 Trying 69.63.149.30... Connected to mail.port25.com (69.63.149.30). Escape character is '^]'. 220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready EHLO server.example.com 250-mail.port25.com says hello 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-8BITMIME 250-XACK 250-XMRG 250-SIZE 54525952 250-VERP 250 DSN MAIL FROM:<support@port25.com> 250 2.1.0 MAIL ok RCPT TO:<support@port25.com> 250 2.1.5 <support@port25.com> ok DATA 354 send message From: "John Smith" <jsmith@port25.com> To: "Jane Doe" <jdoe@port25.com> Subject: test message sent from manual telnet session Date: Wed, 11 May 2011 16:19:57 -0400 Hello World, This is a test message sent from a manual telnet session. Yours truly, SMTP administrator . 250 2.6.0 message received QUIT 221 2.0.0 mail.port25.com says goodbye
إرسال بريد إلكتروني باستخدام telnet يتيح لك اختبار قدرات الاتصال بسرعة وبتكلفة أقل من معدات أو برامج تشخيصية متطورة. لمزيد من أدوات اختبار SMTP المتقدمة، ضع في اعتبارك استخدام Swaks مع SparkPost للاختبار الشامل للبريد الإلكتروني.
إرسال البريد الإلكتروني عبر telnet يمكن أن يساعدك في تحديد مشاكل التسليم ضمن تكوينك الحالي.
قبل أن ترسل بريدًا إلكترونيًا باستخدام telnet، تأكد من أن telnet مثبت ومفعل على جهاز الكمبيوتر الخاص بك. معظم أجهزة الكمبيوتر تأتي مثبتة مسبقًا مع عميل telnet. بالنسبة لتلك الإصدارات من ويندوز التي لا تحتوي على ذلك، يمكن تثبيته عن طريق فتح قسم "برامج وميزات" في لوحة التحكم واختيار "تشغيل ميزات ويندوز أو إيقاف تشغيلها". عند فتح هذه النافذة، اختر "عميل telnet" ثم انقر فوق "موافق".
بعد التحقق من تثبيت عميل telnet على الخادم، افتح نافذة الطرفية حيث ستدخل أوامر المحفز الخاصة بك. على نظام ويندوز، استخدم Windows + R، ثم اكتب "cmd" واضغط على Enter. بالنسبة لمستخدمي ماك، يمكنك العثور على أيقونة الطرفية عن طريق فتح Finder والبحث عن "الأدوات المساعدة" في صفحة التطبيقات، أو بإدخال "terminal" في وظيفة بحث Launchpad.
بعد ذلك، نحتاج للعثور على خادم بريد لتسجيل الدخول إليه. لذلك، سنحتاج إلى سجل DNS MX لنطاق معين. يمكن العثور على ذلك باستخدام الأمر التالي (في هذه الأمثلة ستستخدم port25.com، ولكن يمكن استبداله بأي نطاق):
ويندوز:
nslookup -type=mx port25.com Non-authoritative answer: port25.com MX preference = 100, mail exchanger = mail.port25.com
لينكس:
nslookup -type=mx port25.com Non-authoritative answer: port25.com mail exchanger = 100 mail.port25.com
مرجع سريع لمنافذ SMTP
إليك مرجع سريع لمنافذ إرسال SMTP الشائعة ومتى يجب استخدامها:
المنفذ | التشفير | حالة الاستخدام النموذجية | ملاحظات |
|---|---|---|---|
25 | بدون / TLS عشوائي | توجيه من خادم إلى آخر | غالبًا ما يتم حظره من قبل مزودي خدمات الإنترنت لأغراض مكافحة البريد العشوائي |
465 | SSL/TLS ضمني | إرسال مؤمن قديم | تم إلغاؤه ولكنه لا يزال مستخدمًا من قبل الأنظمة القديمة |
587 | STARTTLS | إرسال مؤمن حديث | موصى به لإرسال البريد الإلكتروني من العميل |
لإعداد وتكوين متقدم لخادم البريد، انظر دليلنا حول نصائح تكوين PowerMTA. إذا كان جسر SMTP الخاص بك يستخدم منفذًا مختلفًا عن 25 كما هو موضح في المثال، ستستخدم المنفذ المحدد من رد خادم تبادل البريد على nslookup. يمكنك أيضًا التحقق من المنفذ الذي يعتمد عليه SMTP الخاص بك من خلال سؤال المسؤول أو تسجيل الدخول إلى خادم تبادل البريد ومراجعة البروتوكولات.
بعد ذلك، نحتاج إلى DNS PTR لعنوان IP الذي سنستخدمه. أولاً، نحن بحاجة إلى معرفة عنوان IP الذي يراه الإنترنت لدينا. للعثور على ذلك، يمكننا استخدام موقع ويب مثل:
مع عنوان IP، قم بتشغيل الأمر التالي، حيث يكون A.B.C.D هو عنوان IP.
ويندوز:
nslookup -type=ptr A.B.C.D Non-authoritative answer: D.C.B.A.in-addr.arpa name = server.example.com
لينكس:
nslookup -type=ptr A.B.C.D Non-authoritative answer: D.C.B.A.in-addr.arpa name = server.example.com
server.example.com هو مجرد مثال، ونتائجك ستكون مختلفة.
الآن بعد أن لدينا سجل MX لـ port25.com و PTR لعنوان IP الذي سنستخدمه، حان الوقت لتسجيل الدخول إلى خادم SMTP. للقيام بذلك، استخدم الأمر التالي:
telnet mail.port25.com 25
يجب أن يظهر شيء مشابه لما يلي:
Trying 69.63.149.30... Connected to mail.port25.com (69.63.149.30). Escape character is '^]'. 220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready
إذا تلقيت رسالة خطأ مثل "لا يمكن الاتصال" في هذه المرحلة، فإن رقم المنفذ صحيح أو أن خادم البريد يعاني من مشاكل.
الأمر الأول الذي نحتاج إلى إصداره إلى خادم البريد للحصول على اختبار بريد SMTP هو EHLO أو HELO. هذا تحية أساسية تبدأ الاتصال بين عميل telnet وخادم SMTP. كما تم تمرير DNS PTR لعنوان IP الذي نتصل منه حسب ما تم تحديده سابقًا.
EHLO server.example.com
يجب أن يُرد بإفراح مشابه لما يلي:
250-mail.port25.com says hello 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-8BITMIME 250-XACK 250-XMRG 250-SIZE 54525952 250-VERP 250 DSN
هذا يُظهر أوامر SMTP التي يقبلها خادم SMTP. ليست كل خوادم SMTP تدعم نفس مجموعة الأوامر. على سبيل المثال، يظهر ياهو فقط ما يلي:
250-8BITMIME 250-SIZE 41943040 250 PIPELINING
وأيضًا، AOL لا تظهر إلا واحدًا:
250 DSN
الأمر التالي الذي نحتاج إلى إصداره هو أمر MAIL FROM. هذا يحدد العنوان الذي يتم إرسال ارتدادات البريد إليه. هذا ليس هو نفس عنوان "من"، الذي يظهر في عميل البريد الإلكتروني.
MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok
تأكد من استخدام اسم النطاق الذي يتوافق مع نطاق خادم البريد الخاص بك. على سبيل المثال، إذا كان نطاق بريدك الإلكتروني هو anycompany.com، فستريد استخدام you@anycompany.com بدلاً من بريد إلكتروني خارجي مثل you@free-mail-provider.com. يمكن أن يؤدي تباين أسماء النطاق إلى ظهور رسالة خطأ.
الآن بعد أن تم إرسال أمر MAIL FROM ، يمكننا إرسال أمر RCPT TO . هذا الأمر يُخبر خادم بريد SMTP إلى من يجب إرسال الرسالة. يمكن أن تكون هذه الإشارة هي نفس أو مختلفة عن رأس "إلى"، الذي هو عنوان البريد الإلكتروني المُظهر في عميل البريد الإلكتروني.
RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok
تحقق مرة أخرى من عنوان المستلم الخاص بك قبل إرسال أمر RCPT TO - قد تشير رسالة خطأ هنا إلى أن عنوان البريد الإلكتروني المرسل إليه يحتوي على أخطاء إملائية أو محظور.
الأمر الأخير الذي يجب تشغيله قبل البدء في محتوى الرسالة هو أمر DATA . هذا الأمر يُخبر خادم بريد SMTP أن كل شيء آخر سيُرسل هو جسم الرسالة (الذي يحتوي أيضًا على الرؤوس).
DATA 354 إرسال الرسالة
من المهم ملاحظة أنه إذا كان خادم البريد يدعم PIPELINING، كما يفعل mail.port25.com، فقد ينتظر خادم البريد SMTP حتى يتم إصدار أمر DATA قبل الرد على أي أوامر أخرى بعد EHLO/HELO. في هذه الحالة، أدخل أوامر MAIL FROM و RCPT TO و DATA قبل انتظار الرد.
الآن بعد أن تم إرسال أمر DATA يمكننا البدء في إرسال محتويات الرسالة. هذا يبدأ مع الرؤوس المختلفة. في الحد الأدنى، يجب أن تحتوي الرسالة على "إلى"، "من"، "موضوع"، و"تاريخ" رأس. ستظهر الرؤوس المدخلة هنا للمستخدم في عميل البريد الإلكتروني.
From: "John Smith" <jsmith@port25.com> To: "Jane Doe" <jdoe@port25.com> Subject: test message sent from manual telnet session Date: Wed, 11 May 2011 16:19:57 -0400
مع إعداد الرؤوس، نضيف الآن سطر فارغ واحد مع عودة متعلقة/تغذية سطر (فقط اضغط على Enter مرتين) ثم نبدأ في جسم الرسالة الفعلي.
مرحبًا بالعالم، هذه رسالة اختبار أرسلت من جلسة telnet اليدوية. بإخلاص، مسؤول SMTP
مع اكتمال الرسالة، نحتاج إلى إخبار خادم SMTP أننا انتهينا من الرسالة ونريد من خادم بريد SMTP قبولها. يتم ذلك بنقطة في سطر بمفردها. إذا تطلب الأمر خلال كتابة الرسالة نقطة في سطر بمفردها، يجب عليك وضع نقطتين، الأولى للهروب من الثانية.
. 250 2.6.0 رسالة تم استلامها
إذا تلقيت رسالة خطأ بدلاً من إشعار "تم الاستلام"، قم بتسجيل التفاصيل ذات الصلة واتصل بمزود البريد الإلكتروني الخاص بك للحصول على مزيد من المساعدة. قد تتعلق مشكلات الاتصال أيضًا بالبروتوكولات الأمنية - تأكد من أنك تستخدم TLS 1.2 أو أعلى للاتصالات الآمنة.
أخيرًا، يتم إرسال أمر QUIT لإغلاق الاتصال:
QUIT 221 2.0.0 mail.port25.com يقول وداعًا
بهذا، يكون خادم البريد قد قبل الرسالة الآن للتسليم، واختبار إرسال البريد الإلكتروني عبر telnet لديك قد اكتمل، ويجب أن تكون الرسالة الآن في صندوق الوارد لعنوان RCPT TO!!!
إليك جميع الأوامر بدون انقطاع:
telnet mail.port25.com 25 Trying 69.63.149.30... Connected to mail.port25.com (69.63.149.30). Escape character is '^]'. 220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready EHLO server.example.com 250-mail.port25.com says hello 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-8BITMIME 250-XACK 250-XMRG 250-SIZE 54525952 250-VERP 250 DSN MAIL FROM:<support@port25.com> 250 2.1.0 MAIL ok RCPT TO:<support@port25.com> 250 2.1.5 <support@port25.com> ok DATA 354 send message From: "John Smith" <jsmith@port25.com> To: "Jane Doe" <jdoe@port25.com> Subject: test message sent from manual telnet session Date: Wed, 11 May 2011 16:19:57 -0400 Hello World, This is a test message sent from a manual telnet session. Yours truly, SMTP administrator . 250 2.6.0 message received QUIT 221 2.0.0 mail.port25.com says goodbye
إرسال بريد إلكتروني باستخدام telnet يتيح لك اختبار قدرات الاتصال بسرعة وبتكلفة أقل من معدات أو برامج تشخيصية متطورة. لمزيد من أدوات اختبار SMTP المتقدمة، ضع في اعتبارك استخدام Swaks مع SparkPost للاختبار الشامل للبريد الإلكتروني.
كيف أقوم باختبار SMTP باستخدام مصادقة Telnet؟
الآن بعد أن عرفت كيفية التحقق من اتصال SMTP باستخدام telnet، سنناقش إجراءات المصادقة. تساعد مصادقة SMTP في منع وصول كميات كبيرة من الرسائل غير المرغوب فيها إلى صناديق بريد القراء، على الرغم من أن جميع خوادم تبادل البريد لا تتطلب ذلك. فهم المصادقة أمرالحيوي أيضًا عند تحليل رؤوس البريد الإلكتروني لاستكشاف مشكلات التسليم.
الفرق الرئيسي في بروتوكولات المصادقة الحديثة هو وجود ترميز base64. يقوم Base64 بتحويل البيانات الثنائية إلى تنسيق نصي ASCII المطلوب من قبل خوادم البريد من أجل نقل البيانات بنجاح. إنها طريقة لتمثيل بيانات تسجيل دخولك - بعض المزيج من النص - بتنسيق رقمي يمكن للكمبيوتر فهمه.
يمكنك إنشاء base64 الخاص بك باستخدام البرمجيات أو الأدوات المجانية عبر الإنترنت. بمجرد أن تزود خادم البريد بالمعلومات، يقارن هذا البيانات بسجلاته لتحديد المصادقة.
لاختبار مصادقة SMTP عبر telnet، أكمل الخطوات التالية:
افتح الطرفية وتواصل مع خادم البريد باستخدام اسم خادم telnet وأمر الوصول - mail.port25.com في المثال أعلاه.
رحب بالخادم باستخدام EHLO أو HELO، أدخل AUTH LOGIN، وانتظر رد الكمبيوتر.
أدخل اسم المستخدم المشفر بتنسيق base64 واترك الخادم يجيب.
أدخل كلمة المرور المشفرة بتنسيق base64، ويجب أن تتلقى ردًا مثل "تمت المصادقة بنجاح".
تابع مع MAIL FROM، RCPT TO، DATA، وQUIT لإرسال بريدك الإلكتروني المعتمد.
الآن بعد أن عرفت كيفية التحقق من اتصال SMTP باستخدام telnet، سنناقش إجراءات المصادقة. تساعد مصادقة SMTP في منع وصول كميات كبيرة من الرسائل غير المرغوب فيها إلى صناديق بريد القراء، على الرغم من أن جميع خوادم تبادل البريد لا تتطلب ذلك. فهم المصادقة أمرالحيوي أيضًا عند تحليل رؤوس البريد الإلكتروني لاستكشاف مشكلات التسليم.
الفرق الرئيسي في بروتوكولات المصادقة الحديثة هو وجود ترميز base64. يقوم Base64 بتحويل البيانات الثنائية إلى تنسيق نصي ASCII المطلوب من قبل خوادم البريد من أجل نقل البيانات بنجاح. إنها طريقة لتمثيل بيانات تسجيل دخولك - بعض المزيج من النص - بتنسيق رقمي يمكن للكمبيوتر فهمه.
يمكنك إنشاء base64 الخاص بك باستخدام البرمجيات أو الأدوات المجانية عبر الإنترنت. بمجرد أن تزود خادم البريد بالمعلومات، يقارن هذا البيانات بسجلاته لتحديد المصادقة.
لاختبار مصادقة SMTP عبر telnet، أكمل الخطوات التالية:
افتح الطرفية وتواصل مع خادم البريد باستخدام اسم خادم telnet وأمر الوصول - mail.port25.com في المثال أعلاه.
رحب بالخادم باستخدام EHLO أو HELO، أدخل AUTH LOGIN، وانتظر رد الكمبيوتر.
أدخل اسم المستخدم المشفر بتنسيق base64 واترك الخادم يجيب.
أدخل كلمة المرور المشفرة بتنسيق base64، ويجب أن تتلقى ردًا مثل "تمت المصادقة بنجاح".
تابع مع MAIL FROM، RCPT TO، DATA، وQUIT لإرسال بريدك الإلكتروني المعتمد.
الآن بعد أن عرفت كيفية التحقق من اتصال SMTP باستخدام telnet، سنناقش إجراءات المصادقة. تساعد مصادقة SMTP في منع وصول كميات كبيرة من الرسائل غير المرغوب فيها إلى صناديق بريد القراء، على الرغم من أن جميع خوادم تبادل البريد لا تتطلب ذلك. فهم المصادقة أمرالحيوي أيضًا عند تحليل رؤوس البريد الإلكتروني لاستكشاف مشكلات التسليم.
الفرق الرئيسي في بروتوكولات المصادقة الحديثة هو وجود ترميز base64. يقوم Base64 بتحويل البيانات الثنائية إلى تنسيق نصي ASCII المطلوب من قبل خوادم البريد من أجل نقل البيانات بنجاح. إنها طريقة لتمثيل بيانات تسجيل دخولك - بعض المزيج من النص - بتنسيق رقمي يمكن للكمبيوتر فهمه.
يمكنك إنشاء base64 الخاص بك باستخدام البرمجيات أو الأدوات المجانية عبر الإنترنت. بمجرد أن تزود خادم البريد بالمعلومات، يقارن هذا البيانات بسجلاته لتحديد المصادقة.
لاختبار مصادقة SMTP عبر telnet، أكمل الخطوات التالية:
افتح الطرفية وتواصل مع خادم البريد باستخدام اسم خادم telnet وأمر الوصول - mail.port25.com في المثال أعلاه.
رحب بالخادم باستخدام EHLO أو HELO، أدخل AUTH LOGIN، وانتظر رد الكمبيوتر.
أدخل اسم المستخدم المشفر بتنسيق base64 واترك الخادم يجيب.
أدخل كلمة المرور المشفرة بتنسيق base64، ويجب أن تتلقى ردًا مثل "تمت المصادقة بنجاح".
تابع مع MAIL FROM، RCPT TO، DATA، وQUIT لإرسال بريدك الإلكتروني المعتمد.



