المنتج

حلول

الموارد

شركة

المنتج

حلول

الموارد

شركة

كيفية استخدام 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

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

swaks -s 127.0.0.1 
  -f me@from.com 
  -t them@recipient.com 
  --header "Subject: Hello! This is the subject header" 
  --header "Second_Header: 123" 
  --header "Third_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

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

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

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

  • اختبار إصدارات 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 الأساسي، يمكنك أيضاً التحقق من اتصالات SMTP باستخدام جلسات telnet اليدوية.

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

swaks 
  -s smtp.sparkpostmail.com:587 
  --tls 
  -f me@from.com 
  -t them@recipient.com 
  --auth-user SMTP_Injection 
  --auth-password "YOUR_API_KEY" 
  -tlsp tlsv1_2 
  --tls-cipher ECDHE-RSA-AES128-GCM-SHA256

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

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

$ time swaks -s 127.0.0.1 
  -f sender@from.com 
  -t them@recipient.com 
  test 
  --quit-after RCPT
=== Trying 127.0.0.1:25...
=== Connected to 127.0.0.1.
...
 -> RCPT TO:<them@recipient.com>
<- 250 2.1.5 <them@recipient.com> ok
 -> QUIT
<

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

$ cd $HOME
$ vim .swaksrc

انسخ والصق هذا في ملف .swaksrc:

--from swakstest@jasdevism.com
-h-From: "Jas Swaks" <swakstest@jasdevism.com>
-s 127.0.0.1
--body "This is a test!"
--to jsingh@sparkpost.com

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

swaks -t recipient@somewherelse.com
A person is standing at a desk while typing on a laptop.

منصة AI-native الكاملة التي تتماشى مع نمو عملك.

A person is standing at a desk while typing on a laptop.

منصة AI-native الكاملة التي تتماشى مع نمو عملك.

المنتج

حلول

الموارد

شركة

إعدادات الخصوصية

اجتماعي

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

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

اشتراك

A person is standing at a desk while typing on a laptop.

منصة AI-native الكاملة التي تتماشى مع نمو عملك.

المنتج

حلول

الموارد

شركة

إعدادات الخصوصية

اجتماعي

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

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

اشتراك