هذه هي أوامر swaks التي يمكن تشغيلها في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
swaks - Swiss Army Knife SMTP ، أداة اختبار معاملات SMTP لجميع الأغراض
الوصف
هدف تصميم swaks الأساسي هو أن يكون اختبار SMTP مرنًا وقابلًا للبرمجة وموجهًا للمعاملات
أداة. إنه يتعامل مع ميزات وإضافات SMTP مثل TLS والمصادقة و
خطوط الأنابيب. إصدار متعدد من بروتوكول SMTP بما في ذلك SMTP و ESMTP و LMTP ؛ و
طرق نقل متعددة بما في ذلك مآخذ مجال unix ، ومآخذ مجال الإنترنت ، و
أنابيب للعمليات المولدة. يمكن تحديد الخيارات في متغيرات البيئة ،
ملفات التكوين ، وسطر الأوامر مما يتيح أقصى قدر من التكوين وسهولة الاستخدام
للمشغلين والمبرمجين.
سريع إبدأ
تسليم بريد إلكتروني قياسي للاختبار إلى [البريد الإلكتروني محمي] في المنفذ 25 من test-server.example.net:
سواك--إلى [البريد الإلكتروني محمي] - اختبار الخادم - server.example.net
تسليم بريد إلكتروني قياسي للاختبار ، يتطلب مصادقة CRAM-MD5 كمستخدم [البريد الإلكتروني محمي].
ستتم إضافة رأس "X-Test" إلى نص البريد الإلكتروني. ستكون كلمة مرور المصادقة
دفعت ل.
سواك--إلى [البريد الإلكتروني محمي] --من عند [البريد الإلكتروني محمي] --وث CRAM-MD5 - مستخدم حقيقي [البريد الإلكتروني محمي] --header-X-Test "اختبار البريد الإلكتروني"
اختبار ماسح الفيروسات باستخدام EICAR في مرفق. لا تعرض جزء البيانات الخاص بالرسالة:
سواكس -ر [البريد الإلكتروني محمي] - إرفاق - - اختبار الخادم --server.example.com - بيانات الدعم
اختبر ماسحًا للرسائل غير المرغوب فيها باستخدام GTUBE في نص رسالة بريد إلكتروني ، يتم توجيهه عبر سجلات MX لـ
example.com:
سواك--إلى [البريد الإلكتروني محمي] --body / path / to / gtube / file
تسليم بريد إلكتروني قياسي للاختبار إلى [البريد الإلكتروني محمي] باستخدام بروتوكول LMTP عبر UNIX
ملف مقبس المجال
سواك--إلى [البريد الإلكتروني محمي] - مقبس /var/lda.sock - بروتوكول LMTP
أبلغ عن جميع المستلمين في ملف نصي لا يمكن التحقق منه على خادم اختبار:
لـ E في "cat / path / to / email / file"
do
swaks - إلى $ E - server test-server.example.com --quit-after RCPT - إخفاء الكل
[$؟ -ne 0] && echo $ E
فعل
شروط لأي لبس الاتفاقيات
يحاول هذا المستند أن يكون متسقًا ومحددًا في استخدامه للمصطلحات التالية لـ
تقليل الارتباك.
تقديم
المعاملة هي فتح اتصال عبر وسيلة نقل إلى هدف وباستخدام ملف
بروتوكول المراسلة لمحاولة تسليم رسالة.
الهدف
الهدف من الصفقة هو الشيء الذي تتصل به swaks. هذا المصطلح العام هو
مستخدمة في جميع أنحاء الوثائق لأن معظم المصطلحات الأخرى تشير بشكل غير صحيح إلى شيء ما
حول وسيلة النقل المستخدمة.
المواصلات والنقل
النقل هو الطريقة الأساسية المستخدمة للاتصال بالهدف.
بروتوكول
البروتوكول هو لغة التطبيق المستخدمة للتواصل مع الهدف. هذا
يستخدم المستند SMTP للتحدث بشكل عام عن جميع البروتوكولات الثلاثة المدعومة ما لم يكن ذلك
تنص على أنها تتحدث عن بروتوكول "SMTP" المحدد وتستبعد الآخرين.
الرسالة
توجد بروتوكولات SMTP لنقل الرسائل ، وهي مجموعة من البايتات بتنسيق متفق عليه
التي لديها مرسل ومستلم.
مغلف
يحتوي مغلف الرسالة على المرسل والمستقبل "الحقيقي" للرسالة. يمكن
يشار إليها أيضًا باسم مكوناتها ، ومرسل المغلف ومستلمي المغلفات. إنها
من المهم ملاحظة أن مغلف الرسائل لا يجب أن يطابق إلى: ومن:
رؤوس.
بيانات
جزء البيانات من معاملة SMTP هو الرسالة الفعلية التي يتم الآن
نقل. يتكون من كل من رؤوس الرسالة ونصها. البيانات والجسم
يتم استخدامها أحيانًا بشكل مترادف ، لكنهما دائمًا شيئان متميزان في هذا
وثيقة.
رؤوس
يتم تعريف رؤوس الرسالة على أنها جميع الأسطر الموجودة في قسم بيانات الرسالة من قبل
أول سطر فارغ. تحتوي على معلومات حول البريد الإلكتروني الذي سيتم عرضه
إلى المستلم مثل إلى: ، من: ، الموضوع: ، إلخ
تُكتب دائمًا بحرف أول كبير ونقطتين لاحقة.
الجسم
نص الرسالة هو جزء من قسم البيانات يتبع السطر الأول الفارغ.
OPTION معالجة
لمنع حدوث ارتباك محتمل في هذا المستند ، يُشار دائمًا إلى علامة swaks على أنها
"خيار". إذا كان الخيار يأخذ بيانات إضافية ، فسيتم الإشارة إلى تلك البيانات الإضافية باسم
حجة للخيار. على سبيل المثال ، "--from [البريد الإلكتروني محمي]"قد يتم توفيرها إلى
swaks في سطر الأوامر ، حيث يكون "- من" هو الخيار و "[البريد الإلكتروني محمي]" كون
- من حجة.
يمكن إعطاء الخيارات لـ swaks بثلاث طرق. يمكن تحديدها في التكوين
ملف ، في متغيرات البيئة ، وعلى سطر الأوامر. حسب الخيار المحدد
وسواء تم تقديم حجة لها أم لا ، فقد تدفع swaks المستخدم للحجة.
عندما تقوم swaks بتقييم خياراتها ، فإنها تبحث أولاً عن ملف التكوين (إما بتنسيق
الموقع الافتراضي أو المحدد بـ --config). ثم يقوم بتقييم أي خيارات في
متغيرات البيئة. أخيرًا ، يقوم بتقييم خيارات سطر الأوامر. في كل جولة
المعالجة ، سيتم تجاوز أي خيارات تم تعيينها مسبقًا. بالإضافة إلى ذلك ، يمكن أن يكون أي خيار
مسبوقة بـ "no-" لجعل swaks تنسى أن المتغير قد تم تعيينه مسبقًا.
هذه الإمكانية ضرورية لأن العديد من الخيارات تعالج معرّف لكن بدون وسيطة
بشكل مختلف عن غير محدد.
يتم سرد الآلية الدقيقة والتنسيق لاستخدام كل نوع من الأنواع أدناه.
ملف الضبط
يمكن استخدام ملف التكوين لتعيين الخيارات الشائعة الاستخدام أو المطولة بشكل غير طبيعي.
بشكل افتراضي ، تبدو swaks بالترتيب لـ $ SWAKS_HOME / .swaksrc و $ HOME / .swaksrc و
LOGDIR $ / .swaksrc. إذا وجد أحد هؤلاء موجودًا (ولم يتم استخدام --config)
يتم استخدام هذا الملف كملف التكوين.
بالإضافة إلى ذلك ، يمكن تحديد ملف تكوين في موقع غير افتراضي باستخدام
- تكوين. إذا تم تعيين هذا ولم يتم تقديم وسيطة ، فلن تستخدم swak أيًا
ملف التكوين ، بما في ذلك أي ملف افتراضي. إذا كان --config يشير إلى ملف قابل للقراءة
الملف ، يتم استخدامه كملف التكوين ، متجاوزًا أي ملف افتراضي قد يكون موجودًا. لو
يشير إلى ملف غير قابل للقراءة وسيظهر خطأ وسيتم إنهاء swaks.
يمكن أيضًا إنشاء مجموعة من الإعدادات الافتراضية "المحمولة" عن طريق إضافة خيارات إلى نهاية ملف
ملف برنامج swaks. حسب التوزيع ، يجب أن يكون السطر الأخير من swaks "__END__". أي
ستتم معاملة الأسطر المضافة بعد __END__ على أنها محتويات ملف التكوين.
يسمح ذلك بنسخ مجموعة من تفضيلات المستخدم تلقائيًا من خادم إلى آخر
في ملف واحد.
إذا لم يتم إيقاف تشغيل ملفات التهيئة والحاضر بشكل صريح ، فإن __END__
يتم قراءة التكوين دائمًا. سيتم استخدام ملف تكوين واحد فقط لكل واحد
استدعاء swaks ، حتى لو تم تحديد ملفات تكوين متعددة. التحديد
يعمل الخيار --config بدون وسيطة على إيقاف تشغيل معالجة كل من __END__
config وأي ملفات تكوين فعلية.
في ملف التكوين ، يتم تجاهل الأسطر التي تبدأ بعلامة التجزئة (#). كل الخطوط الأخرى
يُفترض أن يكون خيارًا لـ swaks ، مع اختيار الشرطة الأمامية أو الشرطات.
يُفترض أن يكون كل شيء بعد المسافة الأولى لسطر الخيار هو حجة الخيار
ولا يتم معالجتها. لذلك عادة ما يكون الاقتباس غير ضروري وسيكون كذلك
المدرجة حرفيا في الحجة. فيما يلي مثال على محتويات ملف
ملف الضبط:
# استخدم هذا المرسل دائمًا ، بغض النظر عن الخادم أو المستخدم الذي قام بتسجيل الدخول
--من عند [البريد الإلكتروني محمي]
# أفضل رسائل البريد الإلكتروني الاختبارية الخاصة بي أن تكون جميلة من الرأس. ملحوظة
# عدم وجود شرطات على الخيار وعدم وجود اقتباسات حوله
# حجة كاملة.
ح-من: "فريد مثال"[البريد الإلكتروني محمي]>
متغيرات البيئة
يمكن توفير الخيارات عبر متغيرات البيئة. المتغيرات في النموذج
SWAKS_OPT_name $ ، حيث يكون الاسم هو اسم الخيار الذي سيتم تحديده في ملف
سطر الأوامر. لأن الشرطات غير مسموح بها في أسماء متغيرات البيئة في معظم الأحيان
قذائف unix-ish ، يجب عدم استخدام شرطات بادئة وأي شرطات داخل الخيارات
يجب استبدال الاسم بشرطة سفلية. ما يلي سيخلق نفس الخيارات
الموضح في مثال ملف التكوين:
SWAKS_OPT_ دولار من = '[البريد الإلكتروني محمي]'
$ SWAKS_OPT_h_From = "" فريد مثال "[البريد الإلكتروني محمي]>'
تعيين متغير على قيمة فارغة هو نفسه تحديده في سطر الأوامر
بلا جدال. على سبيل المثال ، قد يؤدي تعيين SWAKS_OPT_server = "" إلى حدوث عمليات swaks على
المطالبة باستخدام الخادم الذي سيتم الاتصال به عند كل استدعاء.
بالإضافة إلى ضبط المكافئ لخيارات سطر الأوامر ، يمكن ضبط SWAKS_HOME
إلى دليل يحتوي على الافتراضي swaksrc. لاستخدامه.
خيارات سطر الأوامر
الطريقة الأخيرة لتزويد خيارات swaks هي عبر سطر الأوامر. الخيارات
تتصرف بطريقة تتفق مع معظم برامج سطر أوامر unix-ish. العديد من الخيارات
لها شكل قصير وطويل (على سبيل المثال -s و --server). حسب الاتفاقية قصيرة
يتم تحديد الخيارات بشرطة واحدة ويتم تحديد الخيارات الطويلة بعلامة مزدوجة
اندفاع. هذا ليس سوى اصطلاح وسيعمل أي من البادئة مع أي من النوعين.
يوضح ما يلي المثال الموضح في ملف التكوين والبيئة
أقسام متغيرة:
سواكس دولار - من [البريد الإلكتروني محمي] --h- من: "" فريد مثال "[البريد الإلكتروني محمي]>'
TRANSPORT
يمكن أن تتصل swaks بهدف عبر أنابيب unix ("الأنابيب") ، ومآخذ مجال unix ("unix
مآخذ ") ، أو مآخذ مجال الإنترنت (" مقابس الشبكة "). الاتصال عبر مآخذ الشبكة
هو السلوك الافتراضي. بسبب الطبيعة الفريدة لوسائل النقل المستخدمة ، كل مجموعة
من الخيارات في القسم التالي بشكل متبادل. تحديد أكثر من واحد من
- خادم ، - أنبوب ، أو - مقبس سيؤدي إلى حدوث خطأ. خلط الخيارات الأخرى بين
ستؤدي أنواع النقل فقط إلى تجاهل الخيارات غير ذات الصلة. يوجد أدناه ملف
وصف موجز لكل نوع من أنواع النقل والخيارات الخاصة بذلك
نوع النقل.
مقابس الشبكة
يحاول هذا النقل تسليم رسالة عبر TCP / IP ، الطريقة القياسية لـ
تسليم SMTP. هذا هو النقل الافتراضي لـ swaks. إذا لم يكن أي من - الخادم ،
يتم إعطاء - أنبوب ، أو - مقبس ، ثم يتم استخدام هذا النقل والخادم الهدف
محددة من مجال المستلم (انظر - الخادم أدناه لمزيد من التفاصيل).
يتطلب هذا النقل وحدة IO :: Socket التي تعد جزءًا من معيار perl
توزيع. إذا كانت هذه الوحدة غير قابلة للتحميل ، فإن محاولة استخدام إرادة النقل هذه
يؤدي إلى حدوث خطأ وإنهاء البرنامج.
يتم دعم IPv6 في حالة وجود وحدة IO :: Socket :: INET6.
-s، - server [خادم البريد الهدف [: port]]
اطلب من swaks صراحةً استخدام مآخذ الشبكة وتحديد اسم المضيف أو IP
العنوان المراد الاتصال به ، أو المطالبة إذا لم يتم تقديم أي حجة. إذا كان هذا الخيار
غير معطى ولا يوجد خيار نقل آخر ، خادم البريد الهدف هو
محدد من سجلات DNS المناسبة لمجال البريد الإلكتروني للمستلم
العنوان باستخدام وحدة Net :: DNS. إذا لم يكن Net :: DNS متاحًا ، فسيقوم swaks
محاولة الاتصال بالمضيف المحلي للتسليم. يمكن تعيين المنفذ الهدف اختياريا
هنا. تتضمن التنسيقات المدعومة لهذا الخادم: PORT (أسماء الدعم و IPv4
عناوين)؛ [الخادم]: المنفذ والخادم / المنفذ (الأسماء الداعمة ، IPv4 و IPv6
عناوين). راجع أيضًا - نسخ التوجيه.
-p ، - المنفذ [المنفذ]
حدد منفذ TCP الذي سيتم استخدامه على الهدف ، أو قم بالمطالبة إذا لم تكن هناك وسيطة
المدرجة. يمكن أن تكون الوسيطة اسم خدمة (كما تم استرداده بواسطة getervbyname(3)) أو
رقم المنفذ. يتم تحديد المنفذ الافتراضي بواسطة الخيار --protocol. يرى
- بروتوكول لمزيد من التفاصيل.
-li، --local-interface [IP أو hostname [: port]]
استخدم الوسيطة كواجهة محلية لاتصال SMTP الصادر أو موجه
مستخدم إذا لم تعطى حجة. يمكن أن تكون الوسيطة عنوان IP أو اسم مضيف. تقصير
الإجراء هو السماح لنظام التشغيل باختيار الواجهة المحلية. انظر - خادم
تعليقات إضافية على: تنسيق المنفذ.
-lp ، - منفذ محلي [منفذ]
حدد منفذ الصادر لبدء المعاملة منه. إذا كان هذا الخيار
غير محدد النظام سوف يختار منفذ سريع الزوال. لاحظ أن المستخدمين العاديين
لا يمكن تحديد بعض المنافذ.
--توجيه النسخ [المجال]
يتم تفسير الحجة على أنها جزء المجال من عنوان البريد الإلكتروني ويتم استخدامها
للعثور على الخادم الهدف باستخدام نفس المنطق الذي يمكن استخدامه للبحث عن
الخادم الهدف لعنوان البريد الإلكتروني للمستلم. راجع الخيار --to لمزيد من التفاصيل
حول كيفية تحديد الهدف من مجال البريد الإلكتروني.
-4، -6
فرض IPv4 أو IPv6.
مقابس يونيكس
تحاول طريقة النقل هذه تسليم الرسائل عبر ملف مقبس لنطاق unix.
هذا مفيد لاختبار MTA / MDAs التي تستمع إلى ملفات مأخذ التوصيل (على سبيل المثال ، الاختبار
تسليم LMTP إلى Cyrus). يتطلب هذا النقل وحدة IO :: Socket التي تعد جزءًا
لتوزيع بيرل القياسي. إذا كانت هذه الوحدة غير قابلة للتحميل ، تحاول استخدامها
سيؤدي هذا النقل إلى حدوث خطأ وإنهاء البرنامج.
- مقبس [/ مسار / إلى / مقبس / ملف]
يأخذ هذا الخيار كوسيطة له ملف مقبس لمجال unix. إذا كان swaks غير قادر
لفتح هذا المقبس سيعرض خطأ ويخرج.
أنابيب
يحاول هذا النقل إنتاج عملية والتواصل معها عبر الأنابيب. ال
يجب أن يكون البرنامج الذي تم إنتاجه جاهزًا للعمل كخادم بريد عبر STDIN / STDOUT. أي
يجب أن تدعم MTA المصممة للعمل من إنت / xinet هذا. بالإضافة إلى بعض MTAs
توفير أوضاع اختبار يمكن التواصل معها عبر STDIN / STDOUT. هذا النقل
يمكن استخدامها لأتمتة هذا الاختبار. على سبيل المثال ، إذا قمت بتنفيذ فحص DNSBL
باستخدام Exim وأردت التأكد من أنه يعمل ، يمكنك تشغيل 'swaks --pipe
"exim -bh 127.0.0.2" ". في عالم مثالي ، يجب أن تتصرف العملية التي تتحدث معها
تمامًا مثل خادم SMTP على stdin و stdout. يجب إرسال أي تصحيح إلى
stderr ، والذي سيتم توجيهه إلى جهازك. في العالم الحقيقي swaks يمكن
يتعامل بشكل عام مع بعض التصحيح على مستوى الطفل ، ولكن لا توجد ضمانات حول كيفية القيام بذلك
يمكن أن تتعامل معه.
يتطلب هذا النقل وحدة IPC :: Open2 التي تعد جزءًا من معيار perl
توزيع. إذا كانت هذه الوحدة غير قابلة للتحميل ، فستؤدي محاولة استخدام هذا النقل
يؤدي إلى حدوث خطأ وإنهاء البرنامج.
--pipe [/ path / to / command and arguments]
قم بتوفير اسم العملية والوسيطات للعملية. سوف يحاول swaks أن تفرخ
العملية والتواصل معها عبر الأنابيب. إذا كانت الحجة ليست
ستعرض swaks القابلة للتنفيذ خطأً والخروج.
بروتوكول OPTIONS
ترتبط هذه الخيارات بطبقة البروتوكول.
-t، - to [عنوان البريد الإلكتروني [، عنوان البريد الإلكتروني ، ...]]
يخبر swaks باستخدام الوسيطة (الوسائط) كمستلم مغلف للبريد الإلكتروني ، أو موجه لـ
المتلقي إذا لم يتم تقديم حجة. إذا تم توفير عدة مستلمين و
هناك حاجة إلى مجال المستلم لتحديد توجيه مجال المستلم الأخير
شريطة تستخدم.
لا توجد قيمة افتراضية لهذا الخيار. إذا لم يتم توفير مستلمين عبر أي
يعني أنه سيُطلب من المستخدم تقديم واحد بشكل تفاعلي. الاستثناء الوحيد لهذا
هو إذا تم توفير قيمة --quit-after والتي ستؤدي إلى إجراء معاملة smtp
تم إنهاؤها قبل الحاجة إلى المستلم.
-f، - من [عنوان البريد الإلكتروني]
استخدم الوسيطة كمرسل مغلف للبريد الإلكتروني ، أو موجه المستخدم إذا لم يتم تحديد وسيطة.
يمكن توفير السلسلة <> لتعني المرسل الفارغ. إذا لم يحدد المستخدم ملف
عنوان المرسل يتم استخدام قيمة افتراضية. جزء المجال الخاص بالمرسل الافتراضي هو ملف
أفضل تخمين لاسم المجال المؤهل بالكامل للمضيف المحلي. طريقة
يختلف تحديد الجزء المحلي. على نظام Windows ، Win32 :: LoginName () يستخدم. على يونكس-
أنظمة ish ، يتم استخدام متغير البيئة $ LOGNAME إذا تم تعيينه. خلاف ذلك
com.getpwuid(3) يستخدم. راجع أيضًا --force-getpwuid.
--ehlo، --lhlo، -h، --helo [helo-string]
سلسلة لاستخدامها كوسيطة لأمر HELO / EHLO / LHLO ، أو الاستخدام الفوري إذا لم تكن هناك وسيطة
محدد. إذا لم يتم استخدام هذا الخيار أفضل تخمين في اسم المجال المؤهل بالكامل
من المضيف المحلي. إذا كانت الوحدة النمطية Sys :: Hostname ، والتي تعد جزءًا من القاعدة
التوزيع ، غير متوفر ، سيُطلب من المستخدم إدخال قيمة HELO. لاحظ أن
لقد لوحظ أن Sys :: Hostname يتعذر عليه العثور على اسم المضيف المحلي بشكل معين
ظروف. هذا له نفس التأثير كما لو كان Sys :: Hostname غير متاح.
-q، --quit-after [نقطة توقف]
النقطة التي يجب أن تتوقف عندها الصفقة. عند نقطة التوقف المطلوبة
تم الوصول إليه في المعاملة ، بشرط ألا يكون خطأ swaks قد حدث من قبل
عند الوصول إليه ، سترسل swaks "QUIT" وتحاول إغلاق الاتصال بشكل نظيف.
هذه هي الحجج والملاحظات الصحيحة حول معناها.
كونيكت ، بانر
قم بإنهاء الجلسة بعد استلام لافتة الترحيب من الهدف.
FIRST-HELO، FIRST-EHLO، FIRST-LHLO
في جلسة STARTTLS (ولكن ليس tls-on-connect) ، قم بإنهاء المعاملة بعد
الأول من اثنين HELOs. في معاملة غير STARTTLS ، يتصرف مثل HELO
(انظر أدناه).
XCLIENT
قم بالإنهاء بعد إرسال XCLIENT
TLS قم بإنهاء المعاملة فورًا بعد مفاوضات TLS. لاحظ أن هذا
يحدث في أماكن مختلفة اعتمادًا على ما إذا كانت STARTTLS أو tls-on-connect كذلك
مستخدم. يتم إنهاء هذا دائمًا بعد النقطة التي تم فيها التفاوض على TLS ،
بغض النظر عما إذا كان قد تمت محاولة ذلك.
HELO ، EHLO ، LHLO
في جلسة STARTTLS أو XCLIENT ، توقف بعد جلسة HELO الثانية. خلاف ذلك
بعد HELO الأول والوحيد.
مصادقة
قم بالإنهاء بعد المصادقة. يتم إنهاء هذا دائمًا بعد النقطة التي يتم فيها المصادقة
كان من الممكن أن يتم التفاوض عليه ، بغض النظر عما إذا كان قد تمت محاولة ذلك.
البريد من
قم بالإنهاء بعد إرسال البريد من:.
RCPT ، TO
قم بإنهاء بعد إرسال RCPT TO:.
- مهلة [الوقت]
استخدم الوسيطة باعتبارها مهلة معاملة SMTP ، أو موجه المستخدم إذا لم يتم تقديم وسيطة.
يمكن أن تكون الوسيطة رقمًا خالصًا ، والتي سيتم تفسيرها على أنها ثوان ، أو يمكن
لديك محدد s أو m (5s = 5 ثوان ، 3m = 180 ثانية). كحالة خاصة ، 0
يعني عدم انتهاء مهلة المعاملات. القيمة الافتراضية هي 30 ثانية.
--بروتوكول [بروتوكول]
حدد البروتوكول الذي تريد استخدامه في المعاملة. تظهر الخيارات الصالحة في ملف
الجدول أدناه. البروتوكولات "الأساسية" حاليًا هي SMTP و ESMTP و LMTP. باستخدام
هذه الأنواع من البروتوكولات يمكن للمرء تحديد المنافذ الافتراضية بإيجاز ، سواء
يجب محاولة المصادقة ونوع اتصال TLS الذي يجب أن يكون
حاول. البروتوكول الافتراضي هو ESMTP. يوضح هذا الجدول المتاح
الحجج إلى البروتوكول والخيارات التي يعينها كل منها كأثر جانبي:
SMTP
مرحبا ، "-p 25"
SSMTP
EHLO-> HELO، "-tlsc -p 465"
سمتبا
EHLO-> HELO، "-a -tlsc -p 465"
SMTPS
مرحبًا ، "-tlsc -p 465"
ESMTP
EHLO-> HELO، "-p 25"
ESMTPA
EHLO-> HELO، "-a -p 25"
ESMTPS
EHLO-> HELO، "-tls -p 25"
ESMTPSA
EHLO-> HELO، "-a -tls -p 25"
LMTP
LHLO ، "-p 24"
LMTPA
LHLO ، "-a -p 24"
LMTPS
LHLO ، "-tls -p 24"
LMTPSA
LHLO ، "-a -tls -p 24"
--خط انابيب
إذا كان الخادم البعيد يدعمها ، فحاول SMTP PIPELINING (RFC 2920). هذا ال
الخيار الأصغر ، إذا واجهت مشاكل في ذلك يرجى إبلاغ المؤلف.
تتضمن مناطق المشكلات المحتملة الخوادم التي تقبل البيانات على الرغم من عدم وجودها صالحة
المستلمون (يجب أن ترسل swaks نصًا فارغًا في هذه الحالة ، وليس QUIT) وتسبب ذلك في الجمود
عن طريق إرسال حزم خارج حجم نافذة برنامج التعاون الفني.
--force-getpwuid
اطلب من swaks استخدام طريقة getpwuid للعثور على الجزء المحلي المرسل الافتراضي بدلاً من ذلك
بتجربة $ LOGNAME أولاً.
TLS / التشفير
هذه هي الخيارات المتعلقة بتشفير المعاملة. تم اختبار هذه و
أكد للعمل مع جميع طرق النقل الثلاثة. يتم استخدام الوحدة النمطية Net :: SSLeay لـ
إجراء التشفير عند طلب ذلك. إذا كانت هذه الوحدة غير قابلة للتحميل ، فإن swaks إما
تجاهل طلب TLS أو خطأ ، اعتمادًا على ما إذا كان الطلب اختياريًا.
يتم تعريف STARTTLS على أنه امتداد في بروتوكول ESMTP ولن يكون متاحًا إذا
- تم تعيين البروتوكول على نسخة مختلفة من بروتوكول smtp. لأنه لم يتم تعريفه في البروتوكول
نفسها ، --tls-on-connect متاح لأي نوع بروتوكول إذا كان الهدف يدعمه.
الشهادة المحلية غير مطلوبة للتفاوض بشأن اتصال TLS. ومع ذلك ، فإن بعض
تستخدم الخوادم فحص شهادة العميل للتحقق من السماح للعميل بالاتصال.
يمكن إخبار swaks باستخدام شهادة محلية معينة من خلال استخدام --tls-cert
و- خيارات مفتاح TLS.
-tls
يلزم الاتصال لاستخدام STARTTLS. اخرج إذا لم يكن TLS متاحًا لأي سبب (لا
المعلن عنها ، فشلت المفاوضات ، إلخ).
-tlso ، -tls-اختياري
حاول استخدام STARTTLS إذا كان متاحًا ، تابع المعاملة العادية إذا كان TLS كذلك
غير قادر على التفاوض لأي سبب من الأسباب. لاحظ أن هذا خيار شبه عديم الفائدة مثل
يتم تنفيذه حاليًا لأنه بعد فشل التفاوض حالة الاتصال
غير معروف. في بعض الحالات ، مثل عدم تطابق الإصدار ، يجب ترك الاتصال كـ
نص عادي. في حالات أخرى ، مثل فشل التحقق ، قد يعتقد جانب الخادم أنه
يجب أن يستمر في التحدث TLS بينما يعتقد العميل أنه نص عادي. قد يكون هناك ملف
حاول إضافة المزيد من الكشف عن الحالة الدقيقة في المستقبل ، ولكن في الوقت الحالي فقط كن على دراية
قد تحدث هذه الأشياء الغريبة مع هذا الخيار إذا تمت محاولة مفاوضات TLS و
فشل.
-tlsos ، -tls- اختياري- صارمة
حاول استخدام STARTTLS إذا كان ذلك متاحًا. تابع المعاملة إذا تم التفاوض على TLS
بنجاح أو لم يتم الإعلان عن STARTTLS. إذا تم الإعلان عن STARTTLS ولكن TLS
المفاوضات تفشل ، والتعامل معها على أنها خطأ وإلغاء الصفقة. بسبب التحذير الملحوظ
أعلاه ، هذا خيار أكثر عقلانية من - tls-اختياري.
- TLSC ، - TLS عند الاتصال
ابدأ اتصال TLS فورًا عند الاتصال. بعد العرف المشترك ، إذا
يتم تحديد هذا الخيار لتغيير المنفذ الافتراضي من 25 إلى 465 ، على الرغم من أن هذا يمكن
لا يزال يتم تجاوزه بخيار --port.
-tlsp ، - مواصفات بروتوكول TLS
حدد البروتوكولات المراد استخدامها (أو عدم استخدامها) عند التفاوض على TLS. في وقت هذا
الكتابة ، البروتوكولات المتاحة هي sslv2 و sslv3 و tlsv1 و tlsv1_1 و tlsv1_2. ال
يعتمد توفر هذه البروتوكولات على مكتبة OpenSSL الأساسية الخاصة بك ، لذلك
قد لا تتوفر كل هذه. يتم عرض قائمة البروتوكولات المتاحة في
إخراج - تفريغ (على افتراض أن TLS متاح على الإطلاق).
سلسلة المواصفات هي قائمة بروتوكولات مفصولة بفواصل يمكن استخدامها أو
غير مستعمل. على سبيل المثال "tlsv1، tlsv1_1" لن ينجح إلا إذا كان أحدهما
البروتوكولات متاحة على كل من العميل والخادم. بالمقابل
سيحاول 'no_sslv2، no_sslv3' التفاوض على أي بروتوكول باستثناء sslv2 و sslv3.
لا يمكن خلط شكلي المواصفات.
-tls- تشفير CIPHER_STRING
يتم تمرير الوسيطة إلى هذا الخيار إلى مكتبة OpenSSL الأساسية لتعيين القائمة
من الأصفار المقبولة لاستخدامها في التوصيل. تنسيق هذه السلسلة هو
مبهمة إلى swaks ويتم تعريفها في
http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT. مثال موجز
سيكون - tls-cipher "3DES: + RSA".
--tls- تحقق
بشكل افتراضي ، لا تقوم swaks بأي تحقق من الشهادة. الإعداد - TLS- التحقق من الإرادة
تسبب swaks لمحاولة التحقق من شهادة الخادم. إذا تم تعيين هذا الخيار و
شهادة الخادم غير قابلة للتحقق (إما باستخدام المرجع المصدق للنظام الافتراضي
المعلومات ، أو معلومات CA المخصصة (راجع --tls-ca-path)) لن يتم التفاوض على TLS
النجاح.
--tls-ca-path [/ path / to / CAfile | / path / to / CAdir /]
بشكل افتراضي ، ستستخدم Swaks معلومات CA الافتراضية لمكتبة OpenSSL الأساسية لـ
التحقق من شهادات الخادم. --tls-ca-path يسمح لك بتحديد بديل
موقع. يرى http://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html لـ
تفاصيل محتويات الملف / الدليل.
--tls-cert / path / to / file
قم بتوفير مسار لملف يحتوي على رموز الشهادات المحلية التي يجب استخدامها إذا كان TLS كذلك
التفاوض. وسيطة مسار الملف مطلوبة. كما تم تنفيذها حاليًا
يجب أن تكون الشهادة في الملف بتنسيق PEM. اتصل بالمؤلف إذا كان هناك ملف
حاجة ملحة لـ ASN1. إذا تم تعيين هذا الخيار ، فسيكون مفتاح --tls مطلوبًا أيضًا.
--tls-key / path / to / file
قم بتوفير مسار لملف يحتوي على مفاتيح التبديل الخاصة المحلية التي يجب استخدامها إذا كان TLS كذلك
التفاوض. وسيطة مسار الملف مطلوبة. كما تم تنفيذها حاليًا
يجب أن تكون الشهادة في الملف بتنسيق PEM. اتصل بالمؤلف إذا كان هناك ملف
حاجة ملحة لـ ASN1. إذا تم تعيين هذا الخيار ، فإن --tls-cert مطلوب أيضًا.
--tls-get-peer-cert [/ path / to / file]
احصل على نسخة من شهادة TLS الزميل. إذا لم يتم تقديم أي حجة ، فسيكون كذلك
معروضة على STDOUT. إذا تم تقديم وسيطة ، فمن المفترض أنها مسار نظام ملفات
تحديد مكان كتابة الشهادة. يمكن بعد ذلك أن تكون الشهادة المحفوظة
تم فحصه باستخدام أدوات قياسية مثل الأمر openssl. إذا تم تحديد ملف له
سيتم الكتابة فوق المحتويات.
المصادقة
ستحاول swaks المصادقة على خادم البريد المستهدف إذا طُلب منك القيام بذلك. هذا
قسم تفاصيل أنواع المصادقة المتاحة والمتطلبات والخيارات و
التفاعلات والنقاط الدقيقة الأخرى في استخدام المصادقة. لأن المصادقة
تم تعريفه على أنه امتداد في بروتوكول ESMTP ، فلن يكون متاحًا إذا تم تعيين بروتوكول -
إلى نوع مختلف من بروتوكول SMTP.
تتطلب جميع طرق المصادقة تشفير base64. إذا كانت الوحدة النمطية MIME :: Base64 perl هي
محاولات التحميل القابلة للتحميل لاستخدامها لتنفيذ هذه الترميزات. إذا لم يكن MIME :: Base64 كذلك
سوف تستخدم swaks المتاحة إجراءات base64 الخاصة بها على متن الطائرة. هذه هي أبطأ من
إجراءات MIME :: Base64 وأقل مراجعة ، على الرغم من اختبارها بدقة. استخدام
يتم تشجيع وحدة MIME :: Base64.
إذا كانت المصادقة مطلوبة (راجع الخيارات أدناه لمعرفة متى تكون مطلوبة وغير مطلوبة) و
لم يتم استيفاء المتطلبات لنوع المصادقة المتاح ، تعرض swaks خطأ
ومخارج. هناك طريقتان يمكن أن يحدث هذا من خلال إجبار swaks على استخدام محدد
نوع المصادقة الذي لا يمكن استخدام swaks بسبب المتطلبات المفقودة ، أو السماح لـ swaks إلى
استخدم أي نوع من أنواع المصادقة ، لكن الخادم يعلن فقط عن أنواع swaks التي لا يمكن دعمها. في
الحالة الأولى تزيل الأخطاء في وقت معالجة الخيار لأنها تعرف ذلك مقدمًا
لن يكون قادرًا على المصادقة. في الحالة الأخيرة ، ستظهر أخطاء swaks في الخطأ
مرحلة المصادقة على معاملة SMTP نظرًا لأن swaks لن تدرك أنها ستفعل ذلك
لن تكون قادرًا على المصادقة حتى تلك النقطة.
فيما يلي أنواع المصادقة المدعومة بما في ذلك أي ملاحظات فردية و
المتطلبات.
تؤثر الخيارات التالية على استخدام مصادقة swaks. هذه الخيارات كلها بين-
متعلق ب. على سبيل المثال ، تحديد --auth-user يعني --auth و --uth-password.
يشير تحديد --auth-Optional- إلى المستخدم المعتمد و --uth-password ، وما إلى ذلك.
-a ، --auth [نوع المصادقة [، نوع المصادقة ، ...]]
طلب swaks للمصادقة. إذا لم يتم تقديم أي وسيطة ، فإن أي أنواع مصادقة مدعومة
المعلن عنها من قبل الخادم يتم تجربتها حتى ينجح أحدهم أو يفشل الجميع. إذا كان واحد أو أكثر
يتم تحديد أنواع المصادقة كوسيطة ، ويتم تجربة كل نوع يدعمه الخادم أيضًا
بالترتيب حتى ينجح المرء أو يفشل الكل. يتطلب هذا الخيار swaks للمصادقة ،
لذلك إذا لم يتم العثور على أنواع مصادقة مشتركة أو لم تنجح أي بيانات اعتماد ، فإن swaks تعرض ملف
خطأ ومخارج.
تسرد الجداول التالية أنواع المصادقة الصالحة
تسجيل الدخول ، سهل
يتم دعم أنواع المصادقة الأساسية هذه واختبارها بالكامل وليس لها
متطلبات إضافية
كرام MD5
يتطلب المصدق CRAM-MD5 وحدة Digest :: MD5. تم اختباره بالكامل
ويعتقد أنه يعمل ضد أي خادم يقوم بتنفيذها.
ملخص-MD5
يتطلب المصدق DIGEST-MD5 (RFC2831) وحدة Authen :: SASL. إصدار
استخدم 20100211.0 والإصدارات الأقدم Authen :: DigestMD5 والتي بها بعض أخطاء مستوى البروتوكول
مما منعه من العمل مع بعض السيرفرات. Authen :: SASL's DIGEST-MD5
المناولة أكثر قوة.
تنفيذ DIGEST-MD5 في swaks غير ناضج إلى حد ما. انها تدعم حاليا
فقط نوع "auth" qop ، على سبيل المثال. إذا كان لديك تجربة DIGEST-MD5 و
ترغب في مساعدة swaks في دعم DIGEST-MD5 بشكل أفضل ، يرجى الاتصال بي.
يمكن تعيين قيمة "المجال" لبروتوكول DIGEST-MD5 باستخدام "عالم" - auth-extra
كلمة رئيسية. إذا لم يتم إعطاء مجال ، فسيتم استخدام تقصير معقول.
يمكن تعيين قيم "Digest-uri" لبروتوكول DIGEST-MD5 باستخدام --auth-extra
خيار. على سبيل المثال ، يمكنك إنشاء ملخص قيمة uri لـ
"lmtp / mail.example.com / example.com" مع الخيار "--auth-extra
dmd5-serv-type = lmtp ، dmd5-host = mail.example.com ، dmd5-serv-name = example.com ".
تم تعريف سلسلة "Digest-uri-value" ومكوناتها في RFC2831. إذا لم يكن أي من
يتم إعطاء هذه القيم ، وسيتم استخدام القيم الافتراضية المعقولة.
كرام- SHA1
يتطلب المصدق CRAM-SHA1 وحدة Digest :: SHA. هذا النوع له فقط
تم اختباره مقابل تنفيذ غير قياسي على خادم Exim وربما
لذلك لديها بعض أوجه القصور في التنفيذ.
NTLM / SPA / MSN
تتطلب هذه المصادقات الوحدة النمطية Authen :: NTLM. لاحظ أن هناك اثنين
الوحدات النمطية باستخدام مساحة الاسم Authen :: NTLM على CPAN. تطبيق مارك بوش
(Authen / NTLM-1.03.tar.gz) هو الإصدار المطلوب بواسطة swaks. كان هذا النوع
تم اختباره ضد Exim و Communigate و Exchange 2007.
بالإضافة إلى اسم المستخدم وكلمة المرور القياسيين ، يمكن لنوع المصادقة هذا
يتعرف أيضًا على "المجال". يمكن تعيين المجال باستخدام "المجال" --auth-extra
كلمة رئيسية. لاحظ أنه لم يتم اختبار هذا مطلقًا مع خادم بريد لا يعمل
تجاهل DOMAIN لذلك قد يتم تنفيذ ذلك بشكل غير صحيح.
-ao، --auth-Optional [نوع المصادقة [، نوع المصادقة، ...]]
يعمل هذا الخيار بشكل مماثل لـ --auth باستثناء أنه يطلب المصادقة
بدلا من طلبها. إذا لم يتم العثور على أنواع المصادقة المشتركة أو عدم وجود بيانات اعتماد
تنجح ، تستمر swaks كما لو لم يتم طلب المصادقة.
-aos، --auth-Optional -rict [نوع المصادقة [، نوع المصادقة، ...]]
هذا الخيار هو حل وسط بين --auth و --uth-Optional. إذا لم يكن هناك مصادقة مشتركة-
تم العثور على أنواع ، تتصرف swaks كما لو تم تحديد --auth-Optional وتواصل مع
الصفقة. إذا كانت swaks لا تدعم نوع المصادقة المطلوب ، فإن الخادم لا يدعم
الإعلان عن أي أنواع مصادقة شائعة ، أو إذا لم تنجح أي بيانات اعتماد ، فإن swaks تتصرف كما لو
- تم استخدام الحقيقة والمخارج مع وجود خطأ.
-au ، --auth-user [اسم المستخدم]
أدخل اسم المستخدم الذي سيتم استخدامه للمصادقة ، أو اطلب من المستخدم ذلك إذا كان الجواب لا
الحجة المقدمة. يمكن توفير السلسلة <> لتعني اسم مستخدم فارغًا.
-ap، --auth-password [كلمة المرور]
أدخل كلمة المرور المراد استخدامها للمصادقة ، أو اطلب من المستخدم إدخالها إذا كانت الإجابة لا
الحجة المقدمة. يمكن توفير السلسلة <> لتعني كلمة مرور فارغة.
-ae ، --auth-extra [KEYWORD = القيمة [، ...]]
تسمح بعض أنواع المصادقة بتضمين معلومات إضافية في ملف
عملية المصادقة. بدلاً من إضافة خيار جديد لكل زاوية وركن
لكل مصدق ، يسمح الخيار --auth-extra بتزويد هذه المعلومات.
يسرد الجدول التالي الكلمات الأساسية المعترف بها حاليًا والمصدقون
التي تستخدمها
عالم ، مجال
الكلمات الأساسية للمجال والمجال مترادفة. سيؤدي استخدام أي منهما إلى تعيين "المجال"
الخيار في NTLM / MSN / SPA وخيار "المجال" في DIGEST-MD5
dmd5- سيرف
يتم استخدام الكلمة الأساسية من نوع dmd5-serv من قبل مصدق DIGEST-MD5 ويتم استخدامها ، بتنسيق
الجزء ، لبناء سلسلة قيمة uri (انظر RFC2831)
dmd5- المضيف
يتم استخدام الكلمة الأساسية لمضيف dmd5 بواسطة مصدق DIGEST-MD5 ويتم استخدامها ، بتنسيق
الجزء ، لبناء سلسلة قيمة uri (انظر RFC2831)
dmd5- اسم سيرف
يتم استخدام الكلمة الأساسية dmd5-serv-name بواسطة مصدق DIGEST-MD5 ويتم استخدامها ، بتنسيق
الجزء ، لبناء سلسلة قيمة uri (انظر RFC2831)
-am، --auth-map [auth-alias = auth-type [، ...]]
يوفر طريقة لتعيين أسماء بديلة على أنواع المصادقة الأساسية. مفيد لأي
المواقع التي تستخدم أسماء بديلة للأنواع الشائعة. يتم استخدام هذه الوظيفة بالفعل
داخليًا لتعيين أنواع SPA و MSN على النوع الأساسي NTLM. سطر الأوامر
سيكون الوسيطة لمحاكاة هذا "--auth-map SPA = NTLM، MSN = NTLM". كل المصادقة-
الأنواع المذكورة أعلاه أهداف صالحة للتعيين باستثناء SPA و MSN.
-تكيّف ، -صريح- نص عادي
بدلاً من إظهار سلاسل AUTH base64 المشفرة أثناء إرسالها ، قم بترجمتها
لنص عادي قبل الطباعة على الشاشة.
-ahp، --auth-hide-password [سلسلة الاستبدال]
إذا تم تحديد هذا الخيار ، فستتم طباعة كلمة مرور قابلة للقراءة في أي وقت على
المحطة الطرفية (تحديدًا AUTH PLAIN و AUTH LOGIN) ، يتم استبدال كلمة المرور بـ
السلسلة الوهمية (أو محتويات "السلسلة البديلة" إذا تم توفيرها). الخيط الوهمي
سيتم ترميزها باستخدام base64 أو لا تعتمد على الخيار --uth-plaintext.
لاحظ أن --auth-hide-password مشابه للموجه --protect -سية ، لكنه ليس متطابقًا
خيار. الأول يحمي كلمات المرور من الظهور في معاملة SMTP
بغض النظر عن كيفية إدخالها. هذا الأخير يحمي السلاسل الحساسة عندما
يكتبها المستخدم في المحطة ، بغض النظر عن كيفية استخدام السلسلة.
XCLIENT OPTIONS
XCLIENT هو امتداد SMTP تم تقديمه بواسطة مشروع Postfix. XCLIENT يسمح بامتداد
(مفوض بشكل صحيح) العميل لإخبار الخادم باستخدام معلومات بديلة ، مثل IP
العنوان أو اسم المضيف للعميل. هذا يسمح بمسارات أسهل بكثير لاختبار البريد
تكوينات الخادم. التفاصيل الكاملة عن البروتوكول متوفرة على
http://www.postfix.org/XCLIENT_README.html.
--xclient-addr [القيمة]
--اسم العميل [القيمة]
--xclient-port [VALUE]
--xclient-proto [القيمة]
--xclient-helo [القيمة]
--xclient-تسجيل الدخول [القيمة]
--xclient-reverse-name [VALUE]
تحدد هذه الخيارات سمات XCLIENT التي يجب إرسالها إلى الخادم الهدف. لو
لم يتم توفير [VALUE] ، سوف يطالب swaks ويقرأ القيمة على STDIN. يرى
http://www.postfix.org/XCLIENT_README.html للتوثيق الرسمي لما
السمات تعني وقيمها المحتملة ، بما في ذلك "[UNAVAILABLE]" و
قيم "[TEMPUNAVAIL]".
على سبيل المثال البسيط ، ضبط "--xclient-name foo.example.com --xclient-addr
192.168.1.1 "سيتسبب في إرسال swaks لإرسال أمر SMTP" XCLIENT NAME = foo.example.com
ADDR = 192.168.1.1 ".
لاحظ أن السمة "REVERSE_NAME" لا يبدو أنها تظهر في المسؤول
توثيق. هناك سلسلة رسائل قائمة بريدية توثقها ، ويمكن عرضها على
http://comments.gmane.org/gmane.mail.postfix.user/192623.
يمكن خلط كل هذه الخيارات مع بعضها البعض ، ويمكن مزجها مع - xclient
الخيار (انظر أدناه).
- xclient [XCLIENT_STRING]
هذا هو خيار "الشكل الحر" XCLIENT. مهما كانت القيمة المقدمة لـ XCLIENT_STRING
سيتم إرساله حرفيا كوسيطة لأمر XCLIENT smtp. على سبيل المثال ، إذا
تم استخدام "--xclient 'NAME = ADDR = 192.168.1.1 FOO = bar'" ، سترسل swaks أمر SMTP
"XCLIENT NAME = ADDR = 192.168.1.1 FOO = bar". الميزة الأساسية لهذا على أكثر
الخيارات المحددة أعلاه هي عدم وجود تحقق من صحة بناء الجملة XCLIENT هنا. هذا
يسمح لك بإرسال XCLIENT غير صالح إلى الخادم الهدف للاختبار. إذا كان الجواب لا
يتم تمرير XCLIENT_STRING في سطر الأوامر ، وسوف تطالب swaks وتقرأ القيمة
ستدين.
يمكن مزج الخيار --xclient بحرية مع خيارات --xclient- * أعلاه. لو
"--xclient-addr 192.168.0.1 --xclient 'FOO = bar NAME = wind'" مُعطى لـ swaks ، "XCLIENT
ADDR = 192.168.0.1 FOO = bar NAME = wind "سيتم إرساله إلى الخادم الهدف.
- xclient- اختياري
- xclient- اختياري- صارم
في التشغيل العادي ، سيؤدي تعيين أحد خيارات --xclient * إلى نجاح
يجب أن تتم معاملة XCLIENT من أجل المتابعة (أي أن XCLIENT يجب أن تكون كذلك
تم الإعلان عن جميع السمات التي يطلبها المستخدم ، و
يحتاج الخادم إلى قبول طلب XCLIENT الخاص بـ swaks). هذه الخيارات تغير ذلك
سلوك. --xclient-Optional يخبر swaks بالمضي قدمًا دون قيد أو شرط بعد XCLIENT
مرحلة معاملة SMTP ، بغض النظر عما إذا كانت ناجحة أم لا.
--xclient-Optional -rict مشابه ولكنه أكثر دقة. النسخة الصارمة سوف
لم يتم الإعلان عن المتابعة إلى XCLIENT ، ولكنها ستفشل إذا تمت محاولة XCLIENT ولكنها فعلت ذلك
لم تنجح.
بيانات OPTIONS
تتعلق هذه الخيارات بمحتويات جزء البيانات من معاملة SMTP.
-d، --data [جزء البيانات]
استخدم الوسيطة كمحتويات DATA بالكامل ، أو قم بمطالبة المستخدم إذا لم يتم تحديد وسيطة.
إذا تم توفير الوسيطة "-" ، فسيتم قراءة البيانات من STDIN. إن وجدت
يتم توفير الوسيطة وهي تمثل اسم ملف مفتوح ومحتويات
سيتم استخدام الملف. أي وسيطة أخرى ستكون نفسها لمحتويات البيانات.
يمكن أن تكون القيمة في سطر واحد ، مع \ n (ascii 0x5c ، 0x6e) يمثل المكان
يجب وضع فواصل الأسطر. سيتم اقتباس النقاط الرئيسية. نقطة الإغلاق ليست كذلك
مطلوب ولكنه مسموح به. القيمة الافتراضية لهذا الخيار هي "التاريخ:٪ DATE٪ \ n إلى:
٪ TO_ADDRESS٪ \ n من:٪ FROM_ADDRESS٪ \ n الموضوع: اختبار٪ DATE٪ \ n X-Mailer: swaks v $ p_version
jetmore.org/john/code/swaks/\n٪NEW_HEADERS٪\n٪BODY٪\n ".
يتم إجراء التحليل الأساسي للرمز المميز على جزء البيانات. راجع --استخدام الرموز القديمة للبيانات
للحصول على تفاصيل حول الرموز المميزة المكونة من حرف واحد والتي تم تمييزها على أنها متوقفة. الأتى
يوضح الجدول الرموز المميزة المعترف بها وقيم استبدالها:
٪من العنوان٪
تم استبداله بالمغلف المرسل. يستبدل رمز٪ F المهمل.
٪إلى عنوان٪
تم استبداله بمستلم (مستلمي) المغلفات. يستبدل رمز٪ T المهمل.
٪تاريخ٪
تم استبداله بالوقت الحالي بتنسيق مناسب للإدراج في التاريخ:
رأس. لاحظ أن هذا يحاول استخدام الوحدة النمطية القياسية Time :: Local للمنطقة الزمنية
العمليات الحسابية. إذا كانت هذه الوحدة غير متوفرة ، فستكون سلسلة التاريخ بتوقيت جرينتش.
يستبدل رمز٪ D المهمل.
٪ NEW_HEADERS٪
تم استبدالها بمحتويات الخيار إضافة رأس. إذا لم يكن - Add-header
المحدد هو ببساطة إزالة هذا الرمز المميز. يستبدل رمز٪ H المهمل.
٪جسم٪
تم استبداله بالقيمة المحددة بواسطة الخيار --body. انظر - شخص للتقصير.
يستبدل رمز٪ H المهمل.
--استخدام الرموز القديمة للبيانات
في الإصدارات السابقة من swaks ، كانت الرموز DATA المميزة كما هو موضح في خيار --data أعلاه
تستخدم الرموز المميزة ذات الحرف الواحد (على سبيل المثال ،٪ F). لم تكن هذه خيارًا رائعًا للتخلف عن السداد
الرموز ، وثبت أنها مزعجة بشكل خاص مع اللغات المشفرة غير الإنجليزية حيث
قد تكون مجموعات الأحرف هذه شائعة. كانت الرموز المميزة ذات الحرف الواحد
استبدالها بالإصدارات الأقل عرضة للخطأ قليلاً المذكورة أعلاه. الاحتفاظ بـ
الرموز القديمة وإدراج هذا الخيار لتفعيلها يُقصد بهما أن يكونا
مساعدة مؤقتة للمستخدمين الذين لديهم مجموعة رسائل موجودة باستخدام الرموز المميزة القديمة. ال
يجب مراعاة الرموز المميزة ذات الأحرف الفردية والخيار --use-old-data-tokens
مهملة ومن المحتمل إزالتها في الإصدار التالي.
-داب ، -التفريغ-كالجسم
إذا تم استخدام --dump-as-body ولم يتم استخدام أي خيار آخر لتغيير النص الافتراضي لـ
الرسالة ، يتم استبدال الجسم بإخراج مشابه لإخراج ما هو
مقدم من - تفريغ. - لا يتم عرض مقطع قدرة البرنامج الأولي الخاص بتفريغ ، و
لم يتم تضمين قسم "البيانات". بالإضافة إلى ذلك ، تتضمن --dump دائمًا كلمات مرور.
افتراضيًا - لا يتضمن التفريغ كجسم كلمات المرور ، على الرغم من أنه يمكن تغيير ذلك باستخدام
- تفريغ-كجسم-يظهر-كلمة المرور.
-dabsp، -dump-as-body-shows-password
تسبب - تفريغ كجسم في تضمين كلمات مرور النص العادي. لا ينصح بهذا الخيار.
هذا الخيار يعني - التفريغ كجسم.
- الجسم [مواصفات الجسم]
حدد نص البريد الإلكتروني. الافتراضي هو "هذا اختبار بريدية". إذا كان الجواب لا
حجة إلى - يتم إعطاء حجة إلى شخص ما ، يدفع إلى توفير واحد بشكل تفاعلي. إذا تم توفير "-" ،
سيتم قراءة الجسم من الإدخال القياسي. إذا تم توفير أي نص آخر والنص
يمثل ملفًا مفتوحًا ، يتم استخدام محتوى هذا الملف كجسم. لو أنه
لا يمثل ملفًا مفتوحًا ، يتم استخدام النص نفسه كجسم.
إذا تم إجبار الرسالة على تنسيق MIME (انظر - إرفاق) الوسيطة لهذا الخيار
سيتم تضمينه غير مشفر باعتباره الجزء الأول MIME. سيكون نوع محتواها دائمًا
نص عادي.
- إرفاق [مواصفات المرفقات]
عند توفير خيار واحد أو أكثر من خيارات "إرفاق" ، يتم تغيير الرسالة إلى ملف
متعددة الأجزاء / رسائل MIME المختلطة. تتم معالجة وسيطات - إرفاق بنفس طريقة معالجة
- يمكن توفير أحد الأشخاص فيما يتعلق بـ stdin ، ومحتويات الملف ، وما إلى ذلك. - إرفاق عدة مرات
مرات لإنشاء مرفقات متعددة. بشكل افتراضي ، يتم إرفاق كل مرفق كملف
ملف التطبيق / ثماني بتات. انظر - نوع التعلق لتغيير هذا السلوك.
إذا تم تحديد اسم ملف ، فسيتضمن تشفير MIME اسم الملف هذا. يرى
- إرفاق-الاسم لمزيد من التفاصيل حول تسمية الملف.
من القانوني أن يتم تحديد "-" (STDIN) كوسيطة عدة مرات (مرة واحدة لـ
- وعدة مرات ل - تعلق). في هذه الحالة ، سيكون نفس المحتوى
تعلق في كل مرة يتم تحديدها. هذا مفيد لإرفاق نفس المحتوى
مع أنواع MIME المتعددة.
- نوع مرفق [نوع التمثيل الصامت]
بشكل افتراضي ، يكون المحتوى الذي يتم إرفاق MIME به برسالة مع خيار إرفاق هو
مشفرة على أنها تطبيق / دفق ثماني. - نوع المرفق يغير نوع التمثيل الصامت لكل
- أرفق الخيار الذي يتبعه. يمكن تحديده عدة مرات.
- إرفاق اسم [الاسم]
يعيّن هذا الخيار اسم الملف الذي سيتم تضمينه في جزء MIME الذي تم إنشاؤه لملف
التالي - إرفاق الخيار. إذا لم يتم تعيين أي وسيطة لهذا الخيار ، فإنه لا يسبب اسم الملف
المعلومات التي سيتم تضمينها في جزء MIME التالي ، حتى لو كان بإمكان swaks إنشاؤها
من اسم الملف المحلي.
-آه ، - إضافة رأس [رأس]
يسمح هذا الخيار بإضافة الرؤوس إلى البيانات. إذا كان٪ H موجودًا في البيانات فإنه
مع حجة هذا الخيار. إذا كانت٪ H غير موجودة ، تكون الوسيطة
تم إدراجها بين أول سطرين جديدين متتاليين في DATA (أي ، هو
تم إدراجه في نهاية الرؤوس الموجودة).
يمكن تحديد الخيار عدة مرات أو مرة واحدة مع عدة مرات
الرؤوس مفصولة بسلسلة '\ n' حرفية. لذا ، "--add-header" Foo: bar "- add-header
انتهى الأمر بـ 'Baz: foo' و "--add-header 'Foo: bar \ nBaz: foo'" إلى إضافة نفس الاثنين
رؤوس.
--header [header-and-data]، --h-Header [data]
تتيح هذه الخيارات طريقة لتغيير الرؤوس الموجودة بالفعل في البيانات. - رأس
"Subject: foo" "و" --h-Subject foo "متكافئان. إذا لم يكن العنوان بالفعل
موجودة في البيانات ، ثم تتصرف هذه الحجة بشكل مماثل لـ - add-header. ومع ذلك، إذا
العنوان موجود بالفعل يتم استبداله بالرأس المحدد.
-g إذا تم تحديده ، ستقرأ swaks قيمة DATA للبريد من STDIN. هذا هو
يعادل "--data -". إذا كان هناك سطر _ في البريد الإلكتروني ، فستتم إزالته
(لكن انظر خيار nsf). مفيد لتوصيل رسالة حقيقية (مخزنة في ملفات) بدلاً من ذلك
من استخدام أمثلة الرسائل.
--لا إصلاح البيانات ، -ndf
يفرض هذا الخيار swaks على عدم القيام بتدليك جزء البيانات من البريد الإلكتروني. هذا
يتضمن استبدال الرمز المميز ، من_التجريد ، إضافة نقطة لاحقة ، - الجسم / المرفق
التضمين ، وأي إضافات رأس. هذا الخيار مفيد حقًا فقط عند استخدامه مع
- البيانات ، نظرًا لأن جزء البيانات الافتراضي الداخلي يستخدم الرموز المميزة.
--لا قطاع من ، - nsf
لا تجرد السطر _ من جزء البيانات ، إذا كان موجودًا.
OUTPUT OPTIONS
بشكل افتراضي ، توفر swaks نسخة من معاملاتها للمتصل بها (STDOUT / STDERR).
يهدف هذا النص إلى أن يكون تمثيلًا أمينًا قدر الإمكان للمعاملة
على الرغم من أنه يعدل هذا الناتج عن طريق إضافة بادئات إعلامية إلى الأسطر وبواسطة
تقديم إصدارات نصية واضحة لمعاملات TLS
يشار إلى "البادئات المعلوماتية" على أنها تلميحات عن المعاملات. هذه التلميحات
تتكون مبدئيًا من خطوط التأشير التي تنتج من swaks نفسها أيضًا
رسائل إعلامية أو رسائل خطأ ، وتلك التي تشير إلى سطر من البيانات تم إرساله أو إرساله بالفعل
وردت في صفقة. يوضح هذا الجدول التلميحات ومعانيها:
=== يشير إلى خط معلومات تم إنشاؤه بواسطة swaks
*** يشير إلى حدوث خطأ داخل swaks
-> يشير إلى خط متوقع تم إرساله بواسطة swaks إلى الخادم الهدف
يشير ~> إلى سطر متوقع بتشفير TLS تم إرساله بواسطة swaks إلى الخادم الهدف
**> يشير إلى خط غير متوقع تم إرساله بواسطة swaks إلى الخادم الهدف
* ~> يشير إلى خط غير متوقع مشفر باستخدام بروتوكول TLS يتم إرساله بواسطة swaks إلى الخادم الهدف
> يشير إلى جزء خام من الاختبار تم إرساله بواسطة swaks إلى الخادم الهدف (انظر - show-raw-text).
لا يوجد مفهوم "متوقع" أو "غير متوقع" على هذا المستوى.
<- يشير إلى خط متوقع تم إرساله بواسطة الخادم الهدف إلى swaks
<~ يشير إلى خط متوقع بتشفير TLS أرسله الخادم الهدف إلى swaks
<** يشير إلى خط غير متوقع أرسله الخادم الهدف إلى swaks
<~ * يشير إلى خط غير متوقع مشفر باستخدام بروتوكول TLS تم إرساله بواسطة الخادم الهدف إلى swaks
<يشير إلى جزء خام من النص تم تلقيه بواسطة swaks من الخادم الهدف (راجع
- إظهار النص الخام). لا يوجد مفهوم "متوقع" أو "غير متوقع" على هذا المستوى.
تتحكم الخيارات التالية في ماذا وكيف يتم عرض الإخراج للمتصل.
-n، - بيانات الدعم
يلخص جزء البيانات من معاملة SMTP بدلاً من طباعة كل سطر.
هذا الخيار مفيد للغاية ، ويقترب من المطلوب ، عند استخدام swaks لإرسال معين
اختبار رسائل البريد الإلكتروني. رسائل البريد الإلكتروني التي تحتوي على مرفقات ، على سبيل المثال ، سوف تطغى بسرعة على محطة طرفية
إذا لم يتم قمع البيانات.
-stl ، - عرض الفاصل الزمني [i]
عرض الفاصل الزمني بين أزواج الإرسال / الاستقبال. يكون هذا الخيار مفيدًا للغاية عندما
الوقت :: HiRes متاح ، وفي هذه الحالة سيتم عرض الفاصل الزمني
جزء من الألف من الثانية. إذا كان Time :: HiRes غير متوفر أو تم إعطاء الحرف "i" كوسيطة
سيتم عرض الفاصل في ثوانٍ صحيحة فقط.
-نيه ، - لا توجد معلومات-تلميحات
لا تعرض تلميح المعاملة للمعاملات الإعلامية. هذا هو الأكثر
مفيد عند الحاجة إلى نسخ جزء من سطور المعلومات ، على سبيل المثال
إخراج الشهادة من --tls-get-peer-cert.
-nsh ، - لا تلميحات الإرسال
-nrh ، - لا تلميحات الاستلام
-نث ، - لا تلميحات
- عدم إرسال تلميحات و - عدم تلقي تلميحات تلغي بادئة المعاملة من الإرسال و
استقبال الخطوط ، على التوالي. غالبًا ما يكون هذا مفيدًا عند نسخ جزء من ملف
معاملة للاستخدام في مكان آخر (على سبيل المثال ، "- no-send-hints - إخفاء-استلام
- إخفاء المعلومات "هي طريقة مفيدة للحصول على أوامر العميل فقط لملف
عملية). - no-hints مطابق لتحديد كل من - no-send-hints و
--لا تلقي تلميحات.
لا تُظهر تلميحات المعاملات (مفيدة بالاقتران مع -hr لإنشاء إمكانية النسخ / اللصق
المعاملات).
- رسم - عرض - نص خام
سيقوم هذا الخيار بطباعة تفريغ سداسي عشري للبيانات الأولية المرسلة والمستلمة بواسطة swaks. كل عرافة
التفريغ هو محتويات قراءة أو كتابة واحدة على الشبكة. هذا ينبغي أن يكون
مطابق لما يتم عرضه بالفعل (باستثناء الأحرف \ r
يتم إزالتها). هذا الخيار مفيد في رؤية التفاصيل عندما ترسل الخوادم الكثير
من البيانات في حزم واحدة ، أو تقسيم الأسطر الفردية إلى حزم متعددة. لو
تحتاج حقًا إلى التعمق في هذا المجال ، فمن المحتمل أن تكون أفضل مع حزمة
sniffer ، ولكن هذا الخيار هو خطوة أولى جيدة لمشاهدة مشكلات الاتصال الفردية.
--ملف إلاخراج
- إخراج ملف stdout
- إخراج ملف stderr
تسمح هذه الخيارات للمستخدم بإرسال الإخراج إلى الملفات بدلاً من stdout / stderr. ال
الخيار الأول يرسل كلاهما إلى نفس الملف. حجج & STDOUT و & STDERR هي
تمت معالجته بشكل خاص ، بالرجوع إلى مقابض الملفات "العادية" ، لذلك "--output-file-stderr
سيقوم '& STDOUT' "بإعادة توجيه STDERR إلى STDOUT.
-pp ، - حماية سريعة
لا تقم بترديد مدخلات المستخدم في المطالبات التي من المحتمل أن تكون حساسة (في الوقت الحالي فقط
كلمة مرور المصادقة). راجع أيضًا --auth-hide-password
- ساعة ، - إخفاء - استلام
لا تعرض الأسطر المرسلة من الخادم البعيد التي يتم استلامها بواسطة swaks
-hs ، - إخفاء-إرسال
لا تعرض الخطوط التي يتم إرسالها عن طريق swaks إلى الخادم البعيد
-هي ، -إخفاء المعلومات
لا تعرض سطور معلومات غير أخطاء من swaks نفسها.
-ها ، -إخفاء الكل
لا تعرض أي محتوى على المحطة.
-S ، - صامت [مستوى]
تسبب في swaks أن تكون صامتة. إذا لم يتم تقديم أي حجة أو إذا تم تقديم وسيطة "1" ،
لا تطبع أي مخرجات ما لم / حتى يحدث خطأ ، وبعد ذلك تظهر كل المخرجات. إذا كان
يتم إعطاء وسيطة "2" ، فقط أخطاء الطباعة. إذا تم إعطاء "3" ، لا تظهر أي مخرجات على الإطلاق.
--يدعم
إمكانيات الطباعة والخروج. تتطلب بعض الميزات وحدات perl غير قياسية.
تقيّم هذه الخيارات ما إذا كانت هذه الوحدات موجودة أم لا وتعرض أي منها
الوظيفة متاحة وأيها غير متوفر ، وما هي الوحدات التي ستحتاج إلى إضافتها
لاكتساب الوظائف المفقودة.
--أحمق
يؤدي هذا الخيار إلى قيام swaks بطباعة نتائج معالجة الخيارات قبل ذلك مباشرة
تم إرسال البريد. لن يتم إرسال أي بريد عند استخدام - تفريغ. لاحظ أن
- يعتبر التفريغ أداة تشخيص ذاتي خالص ولا يتم بذل أي جهد أو إرادة
من أي وقت مضى لإخفاء كلمات المرور في إخراج - تفريغ.
--مساعدة
اعرض معلومات المساعدة هذه.
--الإصدار
عرض معلومات الإصدار.
قابلية التنقل
أنظمة التشغيل
تم تصميم هذا البرنامج بشكل أساسي للاستخدام على أنظمة تشغيل تشبه يونكس ، وهو
يجب أن تعمل على أي نسخة معقولة منها. تم تطويره واختباره على
Solaris و Linux و Mac OS X وهي ميزة كاملة في كل هذه الميزات.
يُعرف هذا البرنامج بإثبات الوظائف الأساسية على Windows باستخدام
ActiveState's Perl. لم يتم اختباره بالكامل. من المعروف أن SMTP الأساسي يعمل
الوظائف وأنواع المصادقة LOGIN و PLAIN و CRAM-MD5. غير معروف هو أي TLS
وظائف وأنواع مصادقة NTLM / SPA و DIGEST-MD5.
لأن هذا البرنامج يجب أن يعمل في أي مكان يعمل فيه Perl ، سأكون ممتنًا لمعرفتك به
أي أنظمة تشغيل جديدة قمت باستخدامها بدقة بالإضافة إلى أي مشاكل
واجهته في نظام تشغيل جديد.
خوادم البريد
تم تطوير هذا البرنامج بشكل حصري تقريبًا على خوادم بريد Exim. وقد كان
تم استخدامه بشكل عرضي من قبل المؤلف ، على الرغم من عدم اختباره بدقة ، مع Sendmail ، Smail ،
Exchange و Oracle Collaboration Suite و qpsmtpd و Communigate. لان الجميع
تعتمد الوظائف في swaks على المعايير المعروفة التي يجب أن تعمل مع أي منها بشكل عادل
خادم البريد الحديث. إذا تم العثور على مشكلة ، يرجى تنبيه المؤلف على العنوان
أدناه.
EXIT الرموز
0 لم تحدث أخطاء
1 خطأ في تحليل خيارات سطر الأوامر
2 خطأ في الاتصال بالخادم البعيد
3 نوع اتصال غير معروف
4 أثناء التشغيل باستخدام نوع اتصال من "الأنبوب" ، مشكلة فادحة في الكتابة أو القراءة من
عملية الطفل
5 أثناء تشغيل مع نوع اتصال "الأنابيب" ، ماتت عملية الطفل بشكل غير متوقع. هذا
يمكن أن يعني أن البرنامج المحدد مع --pipe غير موجود.
6 الاتصال مغلق بشكل غير متوقع. إذا تم الكشف عن الإغلاق ردًا على "QUIT"
swaks بعد استجابة غير متوقعة ، رمز الخطأ لذلك غير متوقع
يتم استخدام الاستجابة بدلاً من ذلك. على سبيل المثال ، إذا أعاد خادم البريد استجابة 550 إلى ملف
البريد من: ثم يغلق الاتصال على الفور ، يكتشف swaks أن ملف
الاتصال مغلق ، ولكنه يستخدم رمز الخروج الأكثر تحديدًا 23 لتفاصيل طبيعة
الفشل. إذا قام الخادم بدلاً من ذلك بإرجاع رمز 250 ثم أغلق ملف
الاتصال ، سوف تستخدم swaks رمز الخروج 6 لأنه لا يوجد مخرج أكثر تحديدًا
رمز.
10 خطأ في المتطلبات الأساسية (الوحدة المطلوبة غير متوفرة)
خطأ 21 في قراءة لافتة أولية من الخادم
22 خطأ في صفقة HELO
23 خطأ في معاملة البريد
24 لم تقبل RCPTs
أرجع خادم 25 خطأ إلى طلب البيانات
26 خادم لم يقبل البريد البيانات التالية
27 أرجع الخادم الخطأ بعد طلب إنهاء الجلسة العادية
28 خطأ في معاملة AUTH
29 خطأ في معاملة TLS
خطأ 32 في EHLO بعد تفاوض TLS
33 خطأ في معاملة XCLIENT
34 خطأ في EHLO بعد XCLIENT
نبذة عن VALOR ال اسم
الاسم "swaks" هو اختصار لـ "SWiss Army Knife Smtp". تم اختياره ليكون
مميزة إلى حد ما ويمكن نطقها. بينما "swaks" هو اسم فريد للبرنامج
الحزمة ، لديها بعض المعاني الأخرى غير البرامج. الرجاء إرسال استخدامات أخرى لـ "swak" أو
"swaks" للإدراج.
"ختم بقبلة"
تظهر SWAK / SWAKs أحيانًا على الإنترنت بمعنى "بالحب".
سيء / فقير / مريض (الأفريكانية)
تمت رؤيته في العنوان "SA se bes en swaks gekledes in 2011" ، والذي تمت ترجمته كـ
"أفضل وأسوأ الملابس" من قبل الناطقين بها. ترجمة Google لا تحب "swaks
gekledes "، لكنها ستترجم" swak "إلى" فقيرة "و" swak geklede "على أنها" سيئة الملبس ".
للتواصل معنا
[البريد الإلكتروني محمي]
يرجى استخدام هذا العنوان للاتصال العام والأسئلة والتصحيحات والطلبات وما إلى ذلك.
[البريد الإلكتروني محمي]
إذا كنت ترغب في أن يتم وضعك في قائمة لتلقي الإخطارات عند إصدار إصدار جديد من
تم إصدار swaks ، يرجى إرسال بريد إلكتروني إلى هذا العنوان.
http://www.jetmore.org/john/code/swaks/
تم العثور على سجلات التغيير ، هذه التعليمات ، وأحدث إصدار على هذا الرابط.
استخدم swaks عبر الإنترنت باستخدام خدمات onworks.net