كيفية التحقق من اتصال SMTP باستخدام جلسة Telnet يدوية
Bird
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. إذا تلقيت رسالة "الاتصال مرفوض"، فمن المحتمل أن مزود خدمة الإنترنت أو المضيف يحظر المنفذ.هل أحتاج إلى التحقق من الهوية عند الاختبار باستخدام telnet؟
فقط إذا كان خادم البريد يتطلب المصادقة. استخدم الأمر
AUTH LOGINوأرسل اسم المستخدم وكلمة المرور الخاصة بك مشفرة بصيغة Base64.هل يمكنني إرسال بريد إلكتروني كامل عبر telnet؟
نعم. بعد
DATA، أضف الرؤوس والنص، وانتهِ بنقطة واحدة(.)على سطرها الخاص، ثم اكتبQUIT.هل telnet آمن لاختبار SMTP؟
لا. يرسل Telnet البيانات كنص عادي. استخدمه فقط للاختبار في بيئات آمنة ومراقبة. بالنسبة للاتصالات الآمنة، اختبر عبر TLS باستخدام الأدوات التي تدعم STARTTLS.
في عالم البريد الإلكتروني، هناك العديد من الجوانب المتعلقة بالاختبار، ولكن أحد أبسط الاختبارات التي يمكنك القيام بها هو ببساطة استخدام telnet للدخول إلى خادم SMTP معين. هذا الاختبار لSMTP مفيد في تحديد ما إذا كانت أبسط المشاكل موجودة أم لا.
في عالم البريد الإلكتروني، هناك العديد من الجوانب للاختبار، لكن أحد أبسط الاختبارات التي يمكن القيام بها هو ببساطة استخدام telnet إلى خادم SMTP معين. هذا التحقق من SMTP مفيد في تحديد ما إذا كانت هناك مشكلة أساسية أم لا.
هل الخادم يعمل؟
هل هناك جدار حماية يعيق الاتصالات؟
هل يسمح خادم البريد بترحيل نطاق معين/عنوان بريد إلكتروني؟
ما هي الأوامر التي يدعمها خادم البريد SMTP؟
هل يستجيب الخادم بالاسم المضيف الصحيح؟
هل يعمل الاتصال خارج أي برامج أو واجهات برمجة تطبيقات خارجية؟
يمكن الإجابة على كل هذه الأسئلة والمزيد من خلال اختبار telnet بسيط.
قبل أن نبدأ، تأكد من فتح جزء المرافق لهذا المنشور: إلى أين يتم إرسال رسائل العملاء المرتدة؟ في علامة تبويب جديدة حتى تتمكن من قراءته بعد الانتهاء من هذه المدونة.
ملاحظة، الأوامر المستخدمة في الأمثلة التالية (وكذلك الأوامر الإضافية) مغطاة في القسم 4.1 من RFC 2821.
في عالم البريد الإلكتروني، هناك العديد من الجوانب للاختبار، لكن أحد أبسط الاختبارات التي يمكن القيام بها هو ببساطة استخدام telnet إلى خادم SMTP معين. هذا التحقق من SMTP مفيد في تحديد ما إذا كانت هناك مشكلة أساسية أم لا.
هل الخادم يعمل؟
هل هناك جدار حماية يعيق الاتصالات؟
هل يسمح خادم البريد بترحيل نطاق معين/عنوان بريد إلكتروني؟
ما هي الأوامر التي يدعمها خادم البريد SMTP؟
هل يستجيب الخادم بالاسم المضيف الصحيح؟
هل يعمل الاتصال خارج أي برامج أو واجهات برمجة تطبيقات خارجية؟
يمكن الإجابة على كل هذه الأسئلة والمزيد من خلال اختبار telnet بسيط.
قبل أن نبدأ، تأكد من فتح جزء المرافق لهذا المنشور: إلى أين يتم إرسال رسائل العملاء المرتدة؟ في علامة تبويب جديدة حتى تتمكن من قراءته بعد الانتهاء من هذه المدونة.
ملاحظة، الأوامر المستخدمة في الأمثلة التالية (وكذلك الأوامر الإضافية) مغطاة في القسم 4.1 من RFC 2821.
في عالم البريد الإلكتروني، هناك العديد من الجوانب للاختبار، لكن أحد أبسط الاختبارات التي يمكن القيام بها هو ببساطة استخدام telnet إلى خادم SMTP معين. هذا التحقق من SMTP مفيد في تحديد ما إذا كانت هناك مشكلة أساسية أم لا.
هل الخادم يعمل؟
هل هناك جدار حماية يعيق الاتصالات؟
هل يسمح خادم البريد بترحيل نطاق معين/عنوان بريد إلكتروني؟
ما هي الأوامر التي يدعمها خادم البريد SMTP؟
هل يستجيب الخادم بالاسم المضيف الصحيح؟
هل يعمل الاتصال خارج أي برامج أو واجهات برمجة تطبيقات خارجية؟
يمكن الإجابة على كل هذه الأسئلة والمزيد من خلال اختبار telnet بسيط.
قبل أن نبدأ، تأكد من فتح جزء المرافق لهذا المنشور: إلى أين يتم إرسال رسائل العملاء المرتدة؟ في علامة تبويب جديدة حتى تتمكن من قراءته بعد الانتهاء من هذه المدونة.
ملاحظة، الأوامر المستخدمة في الأمثلة التالية (وكذلك الأوامر الإضافية) مغطاة في القسم 4.1 من RFC 2821.
كيف أرسل بريدًا إلكترونيًا باستخدام Telnet؟
إرسال البريد الإلكتروني عن طريق telnet يمكن أن يساعدك في تحديد مشاكل التسليم داخل التكوين الحالي الخاص بك.
قبل أن ترسل بريدًا إلكترونيًا باستخدام telnet، تأكد من أن telnet مثبت وممكّن على جهاز الكمبيوتر الخاص بك. معظم أجهزة الكمبيوتر تأتي مع عميل telnet مثبت مسبقًا. بالنسبة لتلك النسخ من Windows التي لا تحتوي عليه، يمكن تثبيته بفتح قسم “البرامج والميزات” في لوحة التحكم واختيار “تشغيل ميزات Windows أو إيقاف تشغيلها”. مع فتح هذه النافذة، اختر “telnet client” ثم انقر على OK.
بمجرد التحقق من أن عميل telnet مثبت على الخادم، افتح نافذة الطرفية حيث ستدخل أوامر التعليمات الخاصة بك. على Windows، استخدم Windows + R، اكتب “cmd”، واضغط على Enter. بالنسبة لمستخدمي Mac، ستجد أيقونة الطرفية بفتح Finder والبحث عن “Utilities” في صفحة التطبيقات، أو عن طريق إدخال “terminal” في وظيفة البحث في Launchpad.
التالي، نحتاج إلى العثور على خادم بريد لتسجيل الدخول إليه. لهذا، سنحتاج إلى سجل DNS MX لنطاق معين. يمكن العثور على هذا باستخدام الأمر التالي (في هذه الأمثلة سيتم استخدام port25.com، لكن يمكن استبداله بأي نطاق):
Windows:
nslookup -type=mx port25.com Non-authoritative answer: port25.com MX preference = 100, mail exchanger = mail.port25.com
Linux:
nslookup -type=mx port25.com Non-authoritative answer: port25.com mail exchanger = 100 mail.port25.com
يستخدم SMTP أحد المنافذ الثلاثة — 25، 465، أو 587، والتي عادةً ما يستخدمها Microsoft Outlook. للحصول على تكوين وتحسين خادم بريد متقدم، راجع دليلنا حول نصائح تكوين PowerMTA. إذا كان تجاوز SMTP الخاص بك يستخدم منفذًا مختلفًا عن 25 كما هو موضح في المثال، ستستخدم المنفذ المحدد بواسطة استجابة خادم تبادل البريد للأمر nslookup. يمكنك أيضًا التحقق من المنفذ الذي يعتمد عليه SMTP الخاص بك عن طريق سؤال المسؤول الخاص بك أو تسجيل الدخول إلى خادم تبادل البريد ومراجعة البروتوكولات.
التالي نحن بحاجة إلى DNS PTR لـ IP الذي سنستخدمه. أولاً نحتاج إلى معرفة عنوان IP الذي يرانا الإنترنت به. للعثور على ذلك يمكننا استخدام موقع مثل:
مع عنوان IP قم بتشغيل الأمر التالي، حيث A.B.C.D هو عنوان IP.
Windows:
nslookup -type=ptr A.B.C.D Non-authoritative answer: D.C.B.A.in-addr.arpa name = server.example.com
Linux:
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 message received
إذا حصلت على رسالة خطأ بدلاً من إشعار “استلمت”، سجل التفاصيل ذات الصلة واتصل بمزود البريد الإلكتروني لديك للحصول على المزيد من المساعدة. قد تتعلق مشاكل الاتصال أيضًا ببروتوكولات الأمان - تأكد من أنك تستخدم 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 مثبت مسبقًا. بالنسبة لتلك النسخ من Windows التي لا تحتوي عليه، يمكن تثبيته بفتح قسم “البرامج والميزات” في لوحة التحكم واختيار “تشغيل ميزات Windows أو إيقاف تشغيلها”. مع فتح هذه النافذة، اختر “telnet client” ثم انقر على OK.
بمجرد التحقق من أن عميل telnet مثبت على الخادم، افتح نافذة الطرفية حيث ستدخل أوامر التعليمات الخاصة بك. على Windows، استخدم Windows + R، اكتب “cmd”، واضغط على Enter. بالنسبة لمستخدمي Mac، ستجد أيقونة الطرفية بفتح Finder والبحث عن “Utilities” في صفحة التطبيقات، أو عن طريق إدخال “terminal” في وظيفة البحث في Launchpad.
التالي، نحتاج إلى العثور على خادم بريد لتسجيل الدخول إليه. لهذا، سنحتاج إلى سجل DNS MX لنطاق معين. يمكن العثور على هذا باستخدام الأمر التالي (في هذه الأمثلة سيتم استخدام port25.com، لكن يمكن استبداله بأي نطاق):
Windows:
nslookup -type=mx port25.com Non-authoritative answer: port25.com MX preference = 100, mail exchanger = mail.port25.com
Linux:
nslookup -type=mx port25.com Non-authoritative answer: port25.com mail exchanger = 100 mail.port25.com
يستخدم SMTP أحد المنافذ الثلاثة — 25، 465، أو 587، والتي عادةً ما يستخدمها Microsoft Outlook. للحصول على تكوين وتحسين خادم بريد متقدم، راجع دليلنا حول نصائح تكوين PowerMTA. إذا كان تجاوز SMTP الخاص بك يستخدم منفذًا مختلفًا عن 25 كما هو موضح في المثال، ستستخدم المنفذ المحدد بواسطة استجابة خادم تبادل البريد للأمر nslookup. يمكنك أيضًا التحقق من المنفذ الذي يعتمد عليه SMTP الخاص بك عن طريق سؤال المسؤول الخاص بك أو تسجيل الدخول إلى خادم تبادل البريد ومراجعة البروتوكولات.
التالي نحن بحاجة إلى DNS PTR لـ IP الذي سنستخدمه. أولاً نحتاج إلى معرفة عنوان IP الذي يرانا الإنترنت به. للعثور على ذلك يمكننا استخدام موقع مثل:
مع عنوان IP قم بتشغيل الأمر التالي، حيث A.B.C.D هو عنوان IP.
Windows:
nslookup -type=ptr A.B.C.D Non-authoritative answer: D.C.B.A.in-addr.arpa name = server.example.com
Linux:
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 message received
إذا حصلت على رسالة خطأ بدلاً من إشعار “استلمت”، سجل التفاصيل ذات الصلة واتصل بمزود البريد الإلكتروني لديك للحصول على المزيد من المساعدة. قد تتعلق مشاكل الاتصال أيضًا ببروتوكولات الأمان - تأكد من أنك تستخدم 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 مثبت مسبقًا. بالنسبة لتلك النسخ من Windows التي لا تحتوي عليه، يمكن تثبيته بفتح قسم “البرامج والميزات” في لوحة التحكم واختيار “تشغيل ميزات Windows أو إيقاف تشغيلها”. مع فتح هذه النافذة، اختر “telnet client” ثم انقر على OK.
بمجرد التحقق من أن عميل telnet مثبت على الخادم، افتح نافذة الطرفية حيث ستدخل أوامر التعليمات الخاصة بك. على Windows، استخدم Windows + R، اكتب “cmd”، واضغط على Enter. بالنسبة لمستخدمي Mac، ستجد أيقونة الطرفية بفتح Finder والبحث عن “Utilities” في صفحة التطبيقات، أو عن طريق إدخال “terminal” في وظيفة البحث في Launchpad.
التالي، نحتاج إلى العثور على خادم بريد لتسجيل الدخول إليه. لهذا، سنحتاج إلى سجل DNS MX لنطاق معين. يمكن العثور على هذا باستخدام الأمر التالي (في هذه الأمثلة سيتم استخدام port25.com، لكن يمكن استبداله بأي نطاق):
Windows:
nslookup -type=mx port25.com Non-authoritative answer: port25.com MX preference = 100, mail exchanger = mail.port25.com
Linux:
nslookup -type=mx port25.com Non-authoritative answer: port25.com mail exchanger = 100 mail.port25.com
يستخدم SMTP أحد المنافذ الثلاثة — 25، 465، أو 587، والتي عادةً ما يستخدمها Microsoft Outlook. للحصول على تكوين وتحسين خادم بريد متقدم، راجع دليلنا حول نصائح تكوين PowerMTA. إذا كان تجاوز SMTP الخاص بك يستخدم منفذًا مختلفًا عن 25 كما هو موضح في المثال، ستستخدم المنفذ المحدد بواسطة استجابة خادم تبادل البريد للأمر nslookup. يمكنك أيضًا التحقق من المنفذ الذي يعتمد عليه SMTP الخاص بك عن طريق سؤال المسؤول الخاص بك أو تسجيل الدخول إلى خادم تبادل البريد ومراجعة البروتوكولات.
التالي نحن بحاجة إلى DNS PTR لـ IP الذي سنستخدمه. أولاً نحتاج إلى معرفة عنوان IP الذي يرانا الإنترنت به. للعثور على ذلك يمكننا استخدام موقع مثل:
مع عنوان IP قم بتشغيل الأمر التالي، حيث A.B.C.D هو عنوان IP.
Windows:
nslookup -type=ptr A.B.C.D Non-authoritative answer: D.C.B.A.in-addr.arpa name = server.example.com
Linux:
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 message received
إذا حصلت على رسالة خطأ بدلاً من إشعار “استلمت”، سجل التفاصيل ذات الصلة واتصل بمزود البريد الإلكتروني لديك للحصول على المزيد من المساعدة. قد تتعلق مشاكل الاتصال أيضًا ببروتوكولات الأمان - تأكد من أنك تستخدم 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 لإرسال البريد الإلكتروني المصادق عليه.



