كيفية استخدام SWAKS مع SparkPost

Bird

24‏/06‏/2021

البريد الإلكتروني

1 min read

كيفية استخدام SWAKS مع SparkPost

Bird

24‏/06‏/2021

البريد الإلكتروني

1 min read

كيفية استخدام SWAKS مع SparkPost

هذه أداة سطر أوامر يمكنها إرسال البريد الإلكتروني عبر SMTP. إنها ليست سهلة الاستخدام فحسب، بل توفر أيضًا مجموعة من الخيارات عند الحاجة.

Business in a box.

اكتشف حلولنا.

السنة الماضية، نشرنا مقال مدونة يوضح كيفية استخدام أداة Telnet الشائعة والمفيدة للغاية للتحقق من اتصال SMTP.

الخطوة التالية هي تبسيط العملية اليدوية باستخدام أداة رائعة المستوى التالي (تصف نفسها بأنها السكين السويسري للبريد الإلكتروني) تسمى SWAKS. هذه أداة سطر أوامر يمكنها إرسال رسائل البريد الإلكتروني عبر SMTP. هي ليست فقط سهلة الاستخدام بل أيضًا توفر مجموعة متنوعة من الخيارات عند الحاجة.

في البداية، كنت أشعر بالرهبة من كمية الخيارات، لكنها قابلة للاستخدام تمامًا مع الخيارات الأساسية الأكثر بساطة. إذا واجهت أي مشكلات، فقط احفظ هذه الصفحة في مفضلتك، وانسخ والصق الأمثلة، وعدّلها حسب رغبتك. في نهاية هذه المدونة، بمجرد أن تحصل على بعض الألفة ولا يوجد لديك الكثير من التباين/الديناميكية في أوامر SWAKS الخاصة بك، سأوضح لك كيفية إنشاء ملف تكوين الذي يحدد مسبقًا جميع المعلمات الافتراضية الخاصة بك. هذا يجعل تشغيل SWAKS حرفيًا مجرد زر (حسنًا، "مفتاح") بعيدًا! 

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

تثبيت

sudo yum install epel-release -y && sudo yum install swaks -y

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

swaks -s 127.0.0.1 -f sender@from.com -t recipient@recipient.com

أرسل رسالة مع سطر عنوان "المرسل" + عناوين أخرى ثم قم بتضمين نص "مرحبًا بالعالم!" في الجسم:

swaks -s 127.0.0.1 -f me@from.com -t them@recipient.com --header "Subject: Hello! This is the subject header\Second_header:123\nThird_Header:XYZ" --body “Hello World!”

إليك كيفية إضافة مرفق، حيث يقوم SWAKS بتحويله إلى base64 من أجلك، وهو رائع لاختبار حدود حجم الرسالة:

swaks -s 127.0.0.1 -f me@from.com -t them@recipient.com --attach /path/to/file.tgz

أنت متواجد بشكل كبير على الأساسيات! الآن دعونا نرى كيف يمكنك تحسين إعدادك. إليك بعض الأفكار:

  • استخدم مجدولًا مثل cron لإجراء اختبارات 'هل يعمل ذلك' التي يمكن أن تعمل كأساس أو حتى لتعزيز نظام المراقبة الخاص بك.

  • قم بقياس وقت الانتظار عند الاتصال وإغلاق الاتصال بخادم البريد.

  • اختبار إصدارات وتشفيرات TLS المختلفة

لن تكون وحدك هنا، سأوضح لك كيفية القيام بكل ما سبق. هذه المرة سنقوم بالحقن في خوادم SparkPost لدينا.

أرسل رسالة إلى خوادم SparkPost (كيفية إنشاء مفتاح API هنا، وخيارات SMTP هنا).بمجرد حصولك على مفتاح المصادقة، قم بلصقه في الأمر (تأكد من إبقاء المفتاح آمنًا وسرّيًا!):

swaks -server smtp.sparkpostmail.com:587 -tls --auth-user SMTP_Injection --auth-password [your auth key] -f me@from.com -t them@recipient.com

إذا كنت تبحث عن إرشادات حول كيفية معالجة مشكلات الإرسال عبر SMTP إلى خوادمنا، تفقد هذا المقال. لاختبار الاتصالات الأساسية بخادم SMTP، يمكنك أيضًا التحقق من اتصالات SMTP باستخدام جلسات telnet اليدوية.

مطابقة لأفضل الممارسات الأمنية، قامت SparkPost بإيقاف جميع الإصدارات القديمة من TLS باستثناء v1.2 وما فوق. إذا كنت ترغب في معرفة ما إذا كان نظامك متوافقًا، يسمح لك SWAKS باختبار إصدارات وتشفيرات TLS معينة.

swaks -s smtp.sparkpostmail.com -tls  -p 587 -f me@from.com -t them@recipient.com -tlsp tlsv1_2 --tls-cipher ECDHE-RSA-AES128-GCM-SHA256

في هذا المثال، نستخدم "tlsv1_2" ولكن امض قدمًا وقم بتغييره إلى "tlsv1_1" واستخدمه على نطاقات أخرى لملاحظة توافقها.

ماذا لو كنت تريد توقيت مدى سرعة استجابة خادم البريد؟ يمكن لـ SWAKS المرور خلال دورة SMTP وفصلها في بعض النقاط بدون إرسال رسالة، ويمكنك توقيتها باستخدام أمر "الوقت" الذي يظهر في نهاية الإخراج:

$ time swaks -s 127.0.0.1 -f sender@from.com -t them@recipient.com test--quit-after RCPT === محاولة الاتصال بـ 127.0.0.1:25... === تم الاتصال بـ 127.0.0.1. …  -> RCPT TO:<them@recipient.com> <-  250 2.1.5 <them@recipient.com> جيد  -> QUIT <-  221 2.0.0 v1pmta5.jasdevism.com يقول وداعًا === تم إغلاق الاتصال بالمضيف البعيد. real 0m0.049s user 0m0.038s sys 0m0.009s




كما وعدنا، إذا وصلت إلى هذه النقطة فإن المكافأة هي بسيطة وهي غناء ملف تكوين لتعيين المعلمات الافتراضية:




Cd $HOME $ vim .swaksrc  # انسخ والصق هذا في الملف في ملف .swaksrc --from swakstest@jasdevism.com h-From: "Jas Swaks" <swakstest@jasdevism.com> -s 127.0.0.1  --body "هذه اختبار!" --to jsingh@sparkpost.com

بمجرد حفظه، ما عليك سوى كتابة "swaks" وسينفذ كل شيء ويرسله بسهولة! والأفضل من ذلك، يمكنك التجاوز بإضافته في سطر الأوامر، مثلًا إذا كنت تريد مستلمًا مختلفًا:




swaks -t recipient@somewherelse.com

دعنا نوصلك بخبير من Bird.
رؤية القوة الكاملة لـ Bird في 30 دقيقة.

بتقديمك طلبًا، فإنك توافق على أن تقوم Bird بالاتصال بك بشأن منتجاتنا وخدماتنا.

يمكنك إلغاء الاشتراك في أي وقت. انظر بيان الخصوصية الخاص بـ Bird للتفاصيل حول معالجة البيانات.

دعنا نوصلك بخبير من Bird.
رؤية القوة الكاملة لـ Bird في 30 دقيقة.

بتقديمك طلبًا، فإنك توافق على أن تقوم Bird بالاتصال بك بشأن منتجاتنا وخدماتنا.

يمكنك إلغاء الاشتراك في أي وقت. انظر بيان الخصوصية الخاص بـ Bird للتفاصيل حول معالجة البيانات.

دعنا نوصلك بخبير من Bird.
رؤية القوة الكاملة لـ Bird في 30 دقيقة.

بتقديمك طلبًا، فإنك توافق على أن تقوم Bird بالاتصال بك بشأن منتجاتنا وخدماتنا.

يمكنك إلغاء الاشتراك في أي وقت. انظر بيان الخصوصية الخاص بـ Bird للتفاصيل حول معالجة البيانات.

R

وصول

G

نمو

م

إدارة

A

أتمتة

النشرة الإخبارية

ابقَ على اطلاع مع Bird من خلال التحديثات الأسبوعية إلى بريدك الوارد.