هذا هو الأمر slocalmh الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
Slocal - تصفية البريد الجديد وتسليمه بشكل غير متزامن
موجز
/ usr / lib / mh / slocal [-adr العنوان] [-معلومات البيانات] [-مرسل مرسل] [-المستعمل اسم المستخدم]
[-صندوق بريد MBOX] [-ملف ملف] [-توصيل البريد ملف التسليم] [-إفراط | -فكر]
[-الدعم | -نوسوبريسدوب] [-ديبوغ] [-الإصدار] [-مساعدة]
الوصف
سلوكال هو برنامج مصمم للسماح لك بمعالجة بريدك الوارد وفقًا لـ
مجموعة معقدة من معايير الاختيار. أنت لا تستدعي عادة سلوكال بدلا من نفسك
سلوكال نيابة عنك بواسطة وكيل تحويل الرسائل في نظامك (مثل
ارسل بريد) عند وصول الرسالة.
معايير اختيار الرسالة المستخدمة من قبل سلوكال is محدد في الملف ".توصيل البريد"في
الدليل الرئيسي للمستخدم. يمكنك تحديد ملف بديل بامتداد -توصيل البريد ملف
اختيار. تم تحديد بناء جملة هذا الملف أدناه.
يتم تحديد عنوان تسليم الرسالة ومُرسِل الرسالة من خلال "نقل الرسائل"
معلومات مغلف الوكيل ، إن أمكن. تحت ارسل بريد، سيحصل المرسل من
سطر UUCP "من:" ، إن وجد. يجوز للمستخدم تجاوز هذه القيم بامتداد -adr
-مرسل التبديل.
عادة ما تقرأ الرسالة من المدخلات القياسية. ال -ملف التبديل يعين اسم
الملف الذي يجب قراءة الرسالة منه ، بدلاً من قراءة stdin. وهذا مفيد
عند تصحيح ".توصيل البريد"ملف.
تشير -المستعمل يقول التبديل سلوكال اسم المستخدم الذي يتم تسليم البريد له. ال
-صندوق بريد يقول التبديل سلوكال اسم ملف maildrop الخاص بالمستخدم.
سلوكال قادر على اكتشاف الرسائل المكررة وقمعها. لتمكين هذا ، استخدم الخيار
-الدعم. سلوكال سيحتفظ بقاعدة بيانات تحتوي على معرفات الرسائل الواردة
الرسائل ، من أجل الكشف عن التكرارات. اعتمادا على التكوين الخاص بك ، قاعدة البيانات هذه
سيكون إما بتنسيق ndbm أو Berkeley db.
تشير -معلومات التبديل لتمرير حجة تعسفية إلى العمليات الفرعية التي سلوكال
قد تستدعي نيابة عنك.
تشير -إفراط أسباب التبديل سلوكال لإعطاء معلومات عن stdout حول التقدم المحرز. ال
-ديبوغ التبديل ينتج المزيد من إخراج التصحيح المطول على stderr. هذه العلامات مفيدة
عند إنشاء وتصحيح ".توصيل البريد"، لأنها تسمح لك بمشاهدة ملف
القرارات والإجراءات التي سلوكال يأخذ ، وكذلك تحقق من وجود أخطاء في بناء الجملة في ملف
".توصيل البريد"ملف.
الموضوع خدمة النقل وسيط عقاري
معظم MTAs الحديثة بما في ذلك ارسل بريد, لواحق الاستيراد والتصدير دعم ملف .forward ل
توجيه البريد الوارد. يجب عليك تضمين الخط
“| / usr / lib / mh / slocal -user username "
في ملف .forward الخاص بك في الدليل الرئيسي الخاص بك. سيؤدي هذا إلى استدعاء MTA الخاص بك سلوكال
نيابة عنك عند وصول رسالة.
تشير توصيل البريد قم بتقديم
في ".توصيل البريديتحكم الملف في كيفية القيام بذلك سلوكال يقوم بتصفية البريد الوارد وتسليمه. كل
يتكون سطر هذا الملف من خمسة حقول ، مفصولة بمسافة بيضاء أو فاصلة. حيث
يتم تكريم علامات الاقتباس المزدوجة ، ويمكن تضمين هذه الأحرف في وسيطة واحدة بواسطة
إحاطة الحجة بأكملها بعلامات اقتباس مزدوجة. يمكن تضمين اقتباس مزدوج بواسطة
يسبقها بشرطة مائلة للخلف. يتم تجاهل الأسطر التي تبدأ بـ "#" والأسطر الفارغة.
تنسيق كل سطر في ".توصيل البريدالملف هو:
رأس النمط عمل نتيجة سلسلة
رأس:
اسم حقل الرأس (مثل إلى ، أو نسخة ، أو من) الذي سيتم البحث فيه عن ملف
نمط. هذا هو أي حقل في رؤوس الرسالة قد يكون موجودًا.
يتم أيضًا تحديد الحقول الخاصة التالية:
مصدر معلومات المرسل خارج النطاق
ADDR العنوان الذي تم استخدامه لتسليم المستلم
الافتراضي هذا يطابق فقط إذا لم يتم تسليم الرسالة بعد
* هذا يطابق دائما
النمط:
تسلسل الأحرف المطلوب مطابقتها في حقل الرأس المحدد. المطابقة حالة-
غير حساس ، لكنه لا يستخدم التعبيرات العادية.
عمل:
الإجراء الواجب اتخاذه لإيصال الرسالة. عندما يتم تسليم رسالة ، أ
تتم إضافة رأس "تاريخ التسليم: التاريخ" الذي يشير إلى تاريخ ووقت تلك الرسالة
تم تسليمها.
هدم
هذا العمل ينجح دائما.
ملف, MBOXالطرق أو >
قم بإلحاق الرسالة بالملف المسمى بـ سلسلة. يتم إلحاق الرسالة بـ
ملف بتنسيق mbox (uucp). هذا هو التنسيق الذي تستخدمه معظم برامج البريد الأخرى
(مثل mailx و elm). إذا كان من الممكن إلحاق الرسالة بالملف ، فحينئذٍ هذا
نجح العمل.
mmdf
مطابقة ل ملف، ولكن يتم دائمًا إلحاق الرسالة باستخدام تنسيق صندوق بريد MMDF.
أنبوب or |
قم بتوصيل الرسالة كمدخل قياسي للأمر المسمى بواسطة سلسلة، وذلك باستخدام
قذيفة بورن sh لتفسير السلسلة. قبل إعطاء السلسلة لملف
shell ، يتم توسيعه بالمتغيرات المضمنة التالية:
$ (المرسل) معلومات المرسل خارج النطاق
$ (العنوان) العنوان الذي تم استخدامه لتسليم المستلم
$ (الحجم) حجم الرسالة بالبايت
$ (رد على) إما حقل "الرد على:" أو "من:" للرسالة
$ (معلومات) المعلومات خارج النطاق المحددة
com.qpipe or ^
على غرار أنبوب، لكنه ينفذ الأمر مباشرة بعد المتغير الداخلي
التوسع ، دون مساعدة من قذيفة. يمكن استخدام هذا الإجراء لتجنب
نقلاً عن أحرف خاصة قد تفسرها قوقعتك.
مجلد or +
قم بتخزين الرسالة في ملف NMH مجلد باسم سلسلة. حاليا يتم التعامل مع هذا
عن طريق توصيل الرسالة إلى NMH برنامج com.rcvstore، على الرغم من أن هذا قد يتغير في
المستقبل.
نتيجة:
يشير إلى كيفية تنفيذ الإجراء:
A نفذ العمل. إذا نجح الإجراء ، فسيتم اعتبار الرسالة
تم التوصيل.
R نفذ العمل. بغض النظر عن نتيجة العمل ، فإن الرسالة ليست كذلك
تعتبر تسليمها.
? قم بتنفيذ الإجراء فقط إذا لم يتم تسليم الرسالة. إذا كان العمل
نجح ، ثم تعتبر الرسالة قد تم تسليمها.
N قم بتنفيذ الإجراء فقط إذا لم يتم تسليم الرسالة والسابقة
نجح العمل. إذا نجح هذا الإجراء ، فسيتم اعتبار الرسالة
تم التوصيل.
يتم دائمًا قراءة ملف التسليم بالكامل ، بحيث يمكن إجراء العديد من المطابقات و
يمكن اتخاذ العديد من الإجراءات.
حماية of مدة التسليم ملفات
من أجل منع المشاكل الأمنية ، فإن ".توصيل البريد"يجب أن يمتلك أي منهما
المستخدم أو عن طريق الجذر ، ويجب أن يكون قابلاً للكتابة بواسطة المالك فقط. إذا لم يكن الأمر كذلك ، فإن ملف
الملف لا يقرأ.
إذا كان ".توصيل البريد"لا يمكن العثور على ملف أو أنه لا يقوم بأي إجراء يسلم
الرسالة ، إذن سلوكال سيتحقق من وجود ملف تسليم عالمي في / etc / nmh / maildelivery.
تتم قراءة هذا الملف وفقًا لنفس القواعد. يجب أن يمتلك هذا الملف الجذر ويجب
تكون قابلة للكتابة عن طريق الجذر فقط.
إذا تعذر العثور على ملف التسليم العام أو إذا لم يقم بإجراء يؤدي إلى تسليم ملف
رسالة ، ثم يتم تنفيذ التسليم القياسي إلى Maildrop الخاص بالمستخدم.
مثال مدة التسليم قم بتقديم
للتلخيص ، إليك مثال على ملف التسليم:
#
#. ملف التسليم عبر البريد لـ nmh's slocal
#
# يتم تجاهل الأسطر والخطوط الفارغة التي تبدأ بعلامة "#"
#
# سلسلة نتيجة الإجراء الميداني للنمط
#
# ملف البريد باستخدام foobar في سطر "إلى:" في ملف foobar.log
إلى ملف foobar A foobar.log
# توجيه الرسائل من كولمان إلى أرشيف رسائل البرنامج
من أنبوب كولمان A / bin / أرشيف الرسائل
# يتم وضع أي شيء في القائمة البريدية لـ "nmh-worker"
# المجلد الخاص به ، إذا لم يكن مقدمًا بالفعل
إلى مجلد nmh- العمال؟ nmh- عمال
# يتم وضع أي شيء يحتوي على Unix في الموضوع
# ملف unix-mail
ملف يونيكس الموضوع بريد يونيكس
# لا أريد قراءة البريد من ستيف ، لذا دمره
من ستيف دمر أ -
# ضع أي شيء غير مطابق حتى الآن في صندوق البريد
الافتراضي - ملف؟ صندوق بريد
# دائما تشغيل rcvtty
* - الأنابيب R / usr / lib / mh / rcvtty
عملية فرعية بيئة
عندما يتم استدعاء عملية ، فإن بيئتها هي: يتم تعيين معرفات المستخدم / المجموعة على المستلمين
هويات. دليل العمل هو الدليل الرئيسي للمستلم ؛ umask هو 0077 ؛ ال
العملية ليس لها / dev / tty ؛ يتم تعيين الإدخال القياسي للرسالة ؛ الإخراج القياسي و
يتم تعيين إخراج التشخيص على / dev / null ؛ جميع واصفات الملفات الأخرى مغلقة ؛ ال
متغيرات البيئة $ USER, $ الرئيسية, شل دولار تم تعيينها بشكل مناسب ، ولا توجد بيئة أخرى
المتغيرات موجودة.
يتم إعطاء العملية قدرًا معينًا من الوقت للتنفيذ. إذا لم تخرج العملية
ضمن هذا الحد ، سيتم إنهاء العملية مع التحيز الشديد. كمية
يحسب الوقت على أنه ((الحجم / 60) + 300) ثانية ، حيث الحجم هو عدد البايتات
الرسالة (بحد أقصى 30 دقيقة مسموح به للوقت).
تتم استشارة حالة الخروج من العملية في تحديد نجاح الإجراء. ان
تعني حالة الخروج من الصفر أن الإجراء قد نجح. أي حالة خروج أخرى (أو غير طبيعية
إنهاء) يعني أن الإجراء فشل.
لتجنب أي قيود زمنية ، يمكنك تنفيذ عملية بدأت بـ
شوكة()-عمل. سيعيد الوالد القيمة المناسبة على الفور ، والطفل
يمكن أن تستمر ، تفعل ما تشاء طالما أرادت. هذا النهج
محفوف بالمخاطر إلى حد ما إذا كان الوالد سيعيد حالة الخروج من الصفر. إذا كان الوالد
سيعيد حالة خروج غير صفرية ، ثم يمكن أن يؤدي هذا النهج إلى تسليم أسرع
في البريد الإلكتروني الخاص بك.
استخدم slocalmh عبر الإنترنت باستخدام خدمات onworks.net