- unstable 4.30.2-1
| FORMAIL(1) | General Commands Manual | FORMAIL(1) |
الاسم¶
formail - أداة (إعادة) تنسيق البريد
موجز¶
formail [+تخطي]
[-المجموع]
[-bczfrktedqBY] [-p
البادئة] [-D
أقصى_طول
خبيئة_المعرف]
[-l مجلد] [-x
حقل_الترويسة]
[-X
حقل_الترويسة]
[-a
حقل_الترويسة]
[-A
حقل_الترويسة]
[-i
حقل_الترويسة]
[-I
حقل_الترويسة]
[-u
حقل_الترويسة]
[-U
حقل_الترويسة]
[-R
الحقل_القديم
الحقل_الجديد]
[-n
[أقصى_العمليات
]] [-m
أدنى_الحقول]
[-s [الأمر
[معامل ...]]]
formail -v
الوصف¶
formail مرشح يمكن استخدامه لفرض تنسيق صندوق البريد (mailbox) على الرسائل، وإجراء هروب لأسطر `From '، وتوليد ترويسات الرد الآلي، وإجراء تعديلات أو استخراج بسيط للترويسات، أو تقسيم ملفات صناديق البريد/الموجزات/المقالات. يُتوقع وجود محتويات البريد أو صندوق البريد أو المقال في الدخل القياسي (stdin).
إذا طُلب من formail تحديد مرسل البريد ولكنه لم يتمكن من العثور على أي مرسل، فإنه سيستبدله بـ `foo@bar'.
إذا بُدئ formail
دون أي
خيارات في
سطر
الأوامر،
فإنه سيفرض
تنسيق
صندوق
البريد على
أي بريد
قادم من
الدخل
القياسي
وسيهرّب
جميع أسطر
`From ' الزائفة
باستخدام `>'.
الخيارات¶
- -v
- سيطبع formail رقم
إصداره ثم
يخرج.
- -b
- لا تُهرّب
أي ترويسات
صندوق بريد
زائفة (أي
الأسطر
التي تبدأ
بـ `From ').
- -p البادئة
- عرّف بادئة
اقتباس
مختلفة. إذا
لم تُحدد،
فستكون
القيمة
المبدئية
هي `>'.
- -Y
- افترض
تنسيق
صندوق بريد
Berkeley
التقليدي،
مع تجاهل أي
حقول Content-Length:.
- -c
- اربط
الحقول
المستمرة
في
الترويسة.
قد يكون هذا
مفيدًا عند
معالجة
البريد
لاحقًا
باستخدام
أدوات
النصوص
القياسية
(الموجهة
للأسطر).
- -z
- تأكد من
وجود مسافة
بيضاء بين
اسم الحقل
ومحتواه.
احذف
الحقول
التي تحتوي
على مسافة
بيضاء
واحدة فقط.
احذف
المسافات
البيضاء في
البداية
والنهاية
في الحقول
المستخرجة
باستخدام
-x.
- -f
- اجبر formail على
تمرير أي
تنسيق غير
تابع
لصندوق
البريد كما
هو (أي لا
تولد سطر `From '
كأول سطر).
- -r
- ولّد
ترويسة رد
آلي. سيؤدي
هذا عادةً
إلى التخلص
من جميع
الحقول
الموجودة
(باستثناء X-Loop:)
في الرسالة
الأصلية؛
الحقول
التي ترغب
في الحفاظ
عليها يجب
تسميتها
باستخدام
الخيار -i.
إذا
استخدمت
هذا الخيار
مع -k،
يمكنك منع
هروب متن
الرسالة
بتحديد
الخيار -b
أيضًا.
- -k
- عند توليد
ترويسة
الرد الآلي
أو عند
استخراج
الحقول،
احتفظ
بالمتن
أيضًا.
- -t
- ثق في أن
المرسل قد
استخدم
عنوان عودة
صالحًا في
ترويسته.
يتسبب هذا
في قيام formail
باختيار
مرسل
الترويسة
بدلًا من
مرسل
المظروف
للرد. يجب
استخدام
هذا الخيار
عند توليد
ترويسات
الرد الآلي
من مقالات
الأخبار أو
عندما
يتوقع مرسل
الرسالة
ردًا.
- -s
- سيُجزّأ
الدخل إلى
رسائل بريد
منفصلة،
وتُمرّر
إلى برنامج
واحدًا تلو
الآخر
(يُبدأ
برنامج
جديد لكل
جزء). يجب أن
يكون -s هو
آخر خيار
مُحدد،
ويُتوقع أن
يكون
المعامل
الأول الذي
يليه هو اسم
البرنامج،
وسيُمرّر
أي معامل
آخر إليه.
إذا أغفلت
البرنامج،
فسيقوم formail
ببساطة
بربط
الرسائل
المجزأة في
الخارج
القياسي
مرة أخرى.
انظر FILENO.
- -n [أقصى_العمليات]
- أخبر formail ألا
ينتظر
انتهاء كل
برنامج قبل
بدء
البرنامج
التالي (مما
يؤدي إلى
معالجة
الأجزاء
بالتوازي).
يحدد maxprocs
اختيارياً
حداً أقصى
لعدد
العمليات
التي تعمل
في وقت
واحد.
- -e
- لا تشترط
وجود أسطر
فارغة قبل
ترويسة
الرسالة
الجديدة (أي
يمكن أن
تبدأ
الرسائل في
كل سطر).
- -d
- أخبر formail أن
الرسائل
التي
يُفترض أن
يجزئها لا
يلزم أن
تكون
بتنسيق
صندوق بريد
صارم (أي
يسمح لك
بتجزئة
الموجزات/المقالات
أو تنسيقات
صناديق
البريد غير
القياسية).
هذا يعطل
التعرف على
حقل Content-Length:.
- -l مجلد
- ولّد ملخص
سجل بنفس
أسلوب procmail.
يتضمن ذلك
سطر "From "
بالكامل،
وحقل
ترويسة
الموضوع
(Subject:)،
والمجلد،
وحجم
الرسالة
بالبايت.
يمكن
استخدام
الأمر mailstat
لتلخيص
السجلات
بهذا
التنسيق.
- -B
- يجعل formail
يفترض أنه
يجزئ ملف BABYL rmail.
- -m أدنى_الحقول
- يسمح لك
بتحديد عدد
حقول
الترويسة
المتتالية
التي يحتاج
formail للعثور
عليها قبل
أن يقرر أنه
وجد بداية
رسالة
جديدة،
والقيمة
المبدئية
هي 2.
- -q
- يخبر formail بأن
يصمت (مع
استمراره
في
الاكتشاف)
بشأن أخطاء
الكتابة
والرسائل
المكررة
وحقول Content-Length:
غير
المتطابقة.
هذا الخيار
مفعل
مبدئيًا،
لجعله يعرض
الرسائل
استخدم -q-.
- -D أقصى_طول خبيئة_المعرف
- سيكتشف formail ما
إذا كان
معرف
الرسالة (Message-ID)
للرسالة
الحالية قد
شوهد
سابقاً
باستخدام
ملف idcache بحجم
maxlen تقريباً.
إذا لم يكن
بصدد
التجزئة،
فسيعيد
حالة نجاح
إذا عُثر
على تكرار.
إذا كان
يجزئ، فلن
يخرج
الرسائل
المكررة.
إذا استخدم
مع -r،
فسينظر formail في
عنوان
البريد
لمرسل
المظروف
بدلاً من
معرف
الرسالة.
- -x حقل_الترويسة
- استخرج
محتويات
حقل_الترويسة
هذا من
الترويسة.
ستُترك
تكملة
الأسطر كما
هي؛ إذا كنت
تريد
القيمة في
سطر واحد
فستحتاج
أيضاً إلى
الخيار -c.
- -X حقل_الترويسة
- مثل -x،
ولكنه
يحفظ/يتضمن
اسم الحقل
أيضاً.
- -a حقل_الترويسة
- ألحق
حقل_ترويسة
مخصصاً
بالترويسة؛
ولكن فقط
إذا لم يكن
هناك حقل
مشابه
موجود
بالفعل. إذا
حددت أيًا
من أسماء
الحقول Message-ID:
أو Resent-Message-ID:
بدون
محتويات
للحقل،
فسيقوم formail
بتوليد
معرف رسالة
فريد لك.
- -A حقل_الترويسة
- ألحق
حقل_ترويسة
مخصصاً
بالترويسة
في كل
الأحوال.
- -i حقل_الترويسة
- مثل -A، إلا
أن أي حقول
مشابهة
موجودة
يُعاد
تسميتها
بإضافة
البادئة
“Old-” إليها.
إذا كان
حقل_الترويسة
يتكون من
اسم الحقل
فقط، فلن
يُلحق.
- -I حقل_الترويسة
- مثل -i، إلا
أن أي حقول
مشابهة
موجودة
تُزال
ببساطة. إذا
كان
حقل_الترويسة
يتكون من
اسم الحقل
فقط، فإنه
يحذف الحقل
فعلياً.
- -u حقل_الترويسة
- اجعل
الظهور
الأول لهذا
الحقل
فريداً،
وبالتالي
احذف جميع
تكراراته
اللاحقة.
- -U حقل_الترويسة
- اجعل
الظهور
الأخير
لهذا الحقل
فريداً،
وبالتالي
احذف جميع
تكراراته
السابقة.
- -R الحقل_القديم الحقل_الجديد
- يغير تسمية
جميع
تكرارات
اسم الحقل
oldfield إلى newfield.
- +تخطي
- تخطّ أول
عدد skip من
الرسائل
أثناء
التجزئة.
- -المجموع
- أخرج total من
الرسائل
كحد أقصى
أثناء
التجزئة.
ملاحظات¶
عند إعادة تسمية الحقول أو إزالتها أو استخراجها، يمكن استخدام أسماء حقول جزئية لتحديد جميع الحقول التي تبدأ بالقيمة المحددة.
مبدئياً، عند توليد ترويسة رد آلي، يختار procmail مرسل المظروف من رسالة الدخل. هذا صحيح لرسائل الإجازة والردود التلقائية الأخرى المتعلقة بتوجيه أو تسليم الرسالة الأصلية. إذا كان المرسل يتوقع رداً أو كان الرد يتولد استجابة لمحتويات الرسالة الأصلية، فيجب استخدام الخيار -t.
RFC822، المعيار الأصلي الذي يحكم تنسيق رسائل البريد عبر الإنترنت، لم يحدد ما إذا كان ينبغي مراعاة حقول ترويسة Resent (تلك التي تبدأ بـ `Resent-'، مثل `Resent-From:') عند توليد رد. منذ ذلك الحين، تطور الاستخدام الموصى به لترويسات Resent لاعتبارها معلوماتية بحتة وليست للاستخدام عند توليد رد. وقد قُنّن هذا في RFC2822، معيار تنسيق رسائل الإنترنت الجديد، والذي ينص جزئياً على ما يلي:
- تُستخدم حقول Resent لتحديد الرسالة على أنها أُعيد إدخالها في نظام النقل بواسطة مستخدم. الغرض من استخدام حقول Resent هو جعل الرسالة تظهر للمستلم النهائي وكأنها أُرسلت مباشرة من قبل المرسل الأصلي، مع بقاء جميع الحقول الأصلية كما هي....يجب ألا تُستخدم في المعالجة العادية للردود أو الإجراءات التلقائية الأخرى المماثلة على الرسائل.
بينما
يتجاهل formail
الآن
ترويسات Resent
عند توليد
ردود
الترويسة،
فإن
إصدارات formail
السابقة لـ
3.14 أعطت مثل
هذه
الترويسات
أسبقية
عالية. إذا
كان السلوك
القديم
مطلوباً
للتطبيقات
القائمة،
فيمكن
تحديده
باستدعاء formail
مع الخيار `-a
Resent-' بالإضافة
إلى خياري -r
و -t. هذا
الاستخدام
مهجور ولا
ينبغي
استخدامه
في
التطبيقات
الجديدة.
البيئة¶
- FILENO
- أثناء
التجزئة،
يخصص formail رقم
الرسالة
التي تُخرج
حالياً
لهذا
المتغير. من
خلال
التعيين
المسبق لـ
FILENO، يمكنك
تغيير رقم
الرسالة
الأولي
المستخدم
وعرض
المخرجات
المبطنة
بالأصفار.
إذا لم
يُعين FILENO،
فستكون
قيمته
المبدئية
هي 000. إذا كان
FILENO غير فارغ
ولا يحتوي
على رقم،
فسيُعطّل
توليد FILENO.
أمثلة¶
لتجزئة موجز، عادة ما يُستخدم:
formail +1 -ds >>صندوق_البريد_الذي_تختاره
أو
formail +1 -ds procmail
لإزالة جميع حقول Received: من الترويسة:
formail -I Received:
لإزالة جميع الحقول باستثناء From: و Subject: من الترويسة:
formail -k -X From: -X Subject:
لاستبدال حقل Reply-To: في ترويسة، يمكنك استخدام:
formail -i "Reply-To: foo@bar"
لتحويل ملف صندوق بريد غير قياسي إلى ملف صندوق بريد قياسي، يمكنك استخدام:
formail -ds <old_mailbox >>new_mailbox
أو، إذا كان لديك برنامج بريد متساهل للغاية:
formail -a Date: -ds <old_mailbox >>new_mailbox
لاستخراج الترويسة من رسالة:
formail -X ""
أو
sed -e '/^$/ q'
لاستخراج متن الرسالة:
formail -I ""
أو
sed -e '1,/^$/ d'
انظر أيضًا¶
mail(1), sendmail(8), procmail(1), sed(1), sh(1), RFC822, RFC2822, RFC1123
التشخيص¶
- تعذر التفرع (Can't fork)
- عمليات
كثيرة جداً
على هذا
الحاسوب.
- حقل Content-Length: يتجاوز الطول الفعلي بمقدار nnn بايت
- حدد حقل Content-Length:
في
الترويسة
طولاً كان
أطول من
المتن
الفعلي.
يتسبب هذا
في امتصاص
هذه
الرسالة
لعدد من
الرسائل
اللاحقة
التي تليها
في صندوق
البريد
نفسه.
- تعذرت الكتابة في الخارج القياسي (stdout)
- البرنامج
الذي كان formail
يحاول
التمرير
إليه لم
يقبل جميع
البيانات
التي
أرسلها formail؛
يمكن كتم
هذا
التشخيص
بواسطة
الخيار -q.
- عُثر على مفتاح مكرر: x
- عُثر على
معرف
الرسالة (Message-ID)
أو المرسل x
في هذه
الرسالة في
خبيئة
المعرف (idcache)؛
يمكن كتم
هذا
التشخيص
بواسطة
الخيار -q.
- فشل تنفيذ "x"
- البرنامج
ليس في
المسار، أو
غير قابل
للتنفيذ.
- جدول الملفات ممتلئ
- ملفات
مفتوحة
كثيرة جداً
على هذا
الحاسوب.
- اسم حقل غير صالح: "x"
- يحتوي اسم
الحقل
المحدد "x"
على محارف
تحكم، أو لا
يمكن أن
يكون اسم
حقل جزئياً
لهذا
الخيار.
تحذيرات¶
يمكنك توفير الكثير من العناء لنفسك وللآخرين إذا حاولت تجنب استخدام ميزة الرد الآلي هذه على الرسائل القادمة عبر القوائم البريدية. فبناءً على تنسيق البريد الوارد (والذي يعتمد بدوره على كل من وكيل بريد المرسل الأصلي وإعداد القائمة البريدية)، قد يقرر formail توليد ترويسة رد آلي ترد على القائمة.
تماشياً
مع تقاليد
أدوات
يونكس،
سيقوم formail بما
تطلبه منه
تماماً،
حتى لو أدى
ذلك إلى
رسالة غير
متوافقة مع
معيار RFC822.
وبشكل خاص،
سيسمح لك formail
بتوليد
حقول
ترويسة
تنتهي
أسماؤها
بمسافة
بدلاً من
نقطتين
رأسيتين.
وبينما يعد
هذا صحيحاً
لسطر `From '
الرئيسي،
إلا أن هذا
السطر ليس
حقل ترويسة
بقدر ما هو
فاصل رسائل
لتنسيق
صندوق
البريد mbox. إن
تكرار مثل
هذا السطر
أو أي حقل
ترويسة آخر
بدون
نقطتين
رأسيتين
سيُعتبر من
قبل العديد
من برامج
البريد،
بما في ذلك formail
نفسه،
كبداية
لرسالة
جديدة.
وسيعتبره
آخرون
رسالة
تالفة.
وبسبب هذا،
لا ينبغي
استخدام
الخيار -i مع
سطر `From ' لأن
السطر
الناتج
المعاد
تسميته، `Old-From '،
لن يفعل على
الأرجح ما
تريده. إذا
كنت ترغب في
حفظ سطر `From '
الأصلي،
فأعد
تسميته
باستخدام
الخيار -R
إلى حقل
ترويسة
قانوني مثل
`X-From_:'.
العلل¶
عندما يتعين على formail توليد سطر `From ' رئيس، فإنه سيحتوي عادةً على التاريخ الحالي. إذا أُعطي formail الخيار `-a Date:'، فسوف يستخدم التاريخ من حقل `Date:' في الترويسة (إن وجد). ومع ذلك، وبما أن formail ينسخه حرفياً، فإن التنسيق سيختلف عما تتوقعه معظم برامج قراءة البريد.
إذا أُمر formail بحذف سطر `From ' الرئيس أو إعادة تسميته، فلن يُعيد توليده آلياً كالمعتاد. لإجبار formail على إعادة توليده في هذه الحالة، ضَمّن -a 'From '.
إذا لم يُستدعَ formail كأول برنامج في أنبوب (pipe) وأُمر بتجزئة الدخل إلى عدة رسائل، فلن ينتهي formail حتى يغلق البرنامج الذي يتلقى منه الدخل خرجه أو ينهي نفسه.
إذا أُمر formail
بتوليد
بريد رد
آلي، فإنه
لن يضع
أبداً
أكثر من
عنوان واحد
في حقل `To:'.
متنوعات¶
أداة formail نظيفة بثمانية بتات (eight-bit clean).
عندما يتعين على formail تحديد عنوان المرسل، فإن كل عنوان بريد متوافق مع RFC822 يكون مسموحاً به. سيقوم formail دائماً بتجريد العنوان إلى حده الأدنى (حذف التعليقات والمسافات البيضاء الزائدة).
التعبير النمطي المستخدم للعثور على أختام البريد `الحقيقية' هو:
"\n\nFrom [\t ]*[^\t\n ]+[\t ]+[^\n\t ]"
إذا عُثر على حقل Content-Length: في ترويسة، فسيقوم formail بنسخ عدد البايتات المحدد في المتن حرفياً قبل استئناف المسح المعتاد لحدود الرسائل (إلا عند تجزئة الموجزات أو افتراض تنسيق صندوق بريد Berkeley).
تُعتبر أي
أسطر
ترويسة تلي
سطر `From '
الرئيس
مباشرة
وتبدأ بـ `>From '
تكملة لسطر
`From '. إذا أُمر formail
بإعادة
تسمية سطر `From
'، فإنه
سيغير كل `>'
في البداية
إلى مسافة،
وبذلك يحول
تلك الأسطر
إلى تكملات
RFC822 عادية.
ملاحظات¶
استدعاء formail مع الخيارات -h أو -؟ سيجعله يعرض صفحة مساعدة سطر الأوامر.
SOURCE¶
هذا البرنامج جزء من حزمة معالجة بريد procmail (v3.23pre) المتاحة في http://www.procmail.org/ أو ftp.procmail.org في pub/procmail/.
MAILINGLIST¶
توجد قائمة بريدية للأسئلة المتعلقة بأي برنامج في حزمة procmail:
<procmail-users@procmail.org>
لتقديم الأسئلة/الأجوبة.
لطلبات الاشتراك.
إذا كنت
ترغب في
البقاء على
اطلاع
بالإصدارات
الجديدة
والرقع
الرسمية،
أرسل طلب
اشتراك
إلى
procmail-announce-request@procmail.org
المؤلفون¶
ستيفن ر. فان دن بيرج
<srb@cuci.nl>
Philip A. Guenther
<guenther@sendmail.com>
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 2001/08/04 | BuGless |