SENDMAIL(8)

الاسم
sendmail - وكيل نقل بريد إلكتروني

موجز
sendmail [flags] [address ...]
newaliases
mailq [-v]
hoststat
purgestat
smtpd

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

Sendmail ليس مخصصًا كروتين لواجهة المستخدم؛ برامج أخرى توفر واجهات أمامية سهلة الاستخدام؛ يُستخدم sendmail فقط لتوصيل رسائل منسقة مسبقًا.

بدون أعلام، يقرأ sendmail مدخله القياسي حتى نهاية الملف أو سطر يتكون فقط من نقطة واحدة ويرسل نسخة من الرسالة الموجودة هناك إلى جميع العناوين المدرجة. يحدد الشبكة (الشبكات) التي سيستخدمها بناءً على بناء الجملة ومحتويات العناوين.

يتم البحث عن العناوين المحلية في ملف وتلقينها بشكل مناسب. يمكن منع التلقين بوضع شرطة مائلة عكسية قبل العنوان. بدءًا من الإصدار 8.10، يتم تضمين المرسل في أي توسعات للاسم المستعار، على سبيل المثال، إذا أرسل `john` إلى `group`، وتضمن `group` `john` في التوسعة، فسيتم أيضًا توصيل الرسالة إلى `john`.

  المعاملات

-Ac استخدم submit.cf حتى لو لم يشير وضع التشغيل إلى إرسال بريد أولي.

-Am استخدم sendmail.cf حتى لو أشار وضع التشغيل إلى إرسال بريد أولي.

-Btype
    اضبط نوع النص إلى type. القيم القانونية الحالية هي 7BIT أو 8BITMIME.

-ba الدخول في وضع ARPANET. يجب أن تنتهي جميع أسطر الإدخال بـ CRLF، وسيتم إنشاء جميع الرسائل بـ CRLF في النهاية. كما يتم فحص حقلي “From:” و “Sender:” لاسم المرسل.

-bC فحص ملف الإعدادات.

-bd التشغيل كخفي. سيقوم Sendmail بالانقسام والتشغيل في الخلفية للاستماع على المقبس 25 لاتصالات SMTP الواردة. يُشغل هذا عادة من /etc/rc.

-bD مثل -bd باستثناء التشغيل في المقدمة.

-bh طباعة قاعدة بيانات حالة المضيف الدائمة.

-bH مسح الإدخالات منتهية الصلاحية من قاعدة بيانات حالة المضيف الدائمة.

-bi تهيئة قاعدة بيانات الأسماء المستعارة.

-bm تسليم البريد بالطريقة المعتادة (مبدئي).

-bp طباعة قائمة الطوابير.

-bP طباعة عدد الإدخالات في الطوابير؛ متاح فقط مع دعم الذاكرة المشتركة.

-bs استخدم بروتوكول SMTP كما هو موصوف في RFC821 على الإدخال والإخراج القياسي. هذا العلم يستلزم جميع عمليات العلم -ba المتوافقة مع SMTP.

-bt شغّل في وضع اختبار العناوين. هذا الوضع يقرأ العناوين ويعرض خطوات التحليل؛ يُستخدم لتصحيح جداول التهيئة.

-bv تحقق من الأسماء فقط - لا تحاول جمع أو تسليم رسالة. وضع التحقق يُستخدم عادةً للتحقق من صحة المستخدمين أو القوائم البريدية.

-Cملف
    استخدم ملف تهيئة بديل. Sendmail يتخلى عن أي صلاحيات محسّنة (تعيين-معرف-المستخدم أو تعيين-معرف-المجموعة) إذا تم تحديد ملف تهيئة بديل.

-D ملف-سجل
    أرسل مخرجات التصحيح إلى ملف السجل المشار إليه بدلاً من stdout.

-dفئة.مستوى...
    اضبط علم التصحيح لـ فئة إلى مستوى. فئة إما عدد صحيح أو اسم يحدد الموضوع، و مستوى عدد صحيح يحدد مستوى مخرجات التصحيح المطلوب. المستويات الأعلى تعني عادةً مخرجات أكثر. يمكن تحديد أكثر من علم بفصلها بفواصل. قائمة بفئات التصحيح الرقمية موجودة في ملف TRACEFLAGS في توزيعة مصدر sendmail.
    الخيار -d0.1 يطبع إصدار sendmail والخيارات التي تم تجميعه بها.
    معظم الفئات الأخرى مفيدة فقط مع، وموثقة في، كود مصدر sendmail.

-Fالاسم-الكامل
    اضبط الاسم الكامل للمرسل.

-fاسم
    يضبط اسم الشخص "من" (أي مرسل الظرف للبريد). قد يُستخدم هذا العنوان أيضًا في رأس From: إذا كان هذا الرأس مفقودًا أثناء الإرسال الأولي. عنوان مرسل الظرف يُستخدم كمستلم لإشعارات حالة التسليم وقد يظهر أيضًا في رأس Return-Path:. -f يجب أن يُستخدم فقط من قبل مستخدمين "موثوقين" (عادةً root، daemon، و network) أو إذا كان الشخص الذي تحاول أن تصبحه هو نفس الشخص الذي أنت عليه. وإلا، سيتم إضافة رأس X-Authentication-Warning إلى الرسالة.

-G  إرسال رسالة عبر المرحّل (البوابة)، مثلاً، عندما يستدعي rmail sendmail .

-hN اضبط عدد القفزات إلى N. عدد القفزات يزداد في كل مرة تتم فيها معالجة البريد. عندما يصل إلى حد، يُعاد البريد مع رسالة خطأ، ضحية حلقة تسمية مستعارة. إذا لم يُحدد، يتم عد سطور "Received:" في الرسالة.

-i  لا تقم بإزالة النقطة البادئة من الأسطر في الرسائل الواردة، ولا تعامل النقطة في سطر بمفردها على أنها نهاية الرسالة الواردة. يجب ضبط هذا إذا كنت تقرأ بيانات من ملف.

-L وسم
    اضبط المعرف المستخدم في رسائل سجل النظام إلى الوسم المقدم.

-N dsn
    اضبط شروط إعلام حالة التسليم إلى dsn، والتي يمكن أن تكون `never' لعدم وجود إعلامات أو قائمة مفصولة بفواصل من القيم `failure' للإعلام إذا فشل التسليم، و`delay' للإعلام إذا تأخر التسليم، و`success' للإعلام عند تسليم الرسالة بنجاح.

-n  لا تقم بعملية التسمية البديلة.

-O خيار=قيمة
    اضبط الخيار الخيار إلى القيمة المحددة. يستخدم هذا النموذج أسماء طويلة. انظر أدناه لمزيد من التفاصيل.

-ox قيمة
    اضبط الخيار x إلى القيمة المحددة. يستخدم هذا النموذج أسماء أحرف مفردة فقط. الأسماء القصيرة غير موصوفة في صفحة الدليل هذه؛ راجع دليل تثبيت وتشغيل Sendmail للحصول على التفاصيل.

-pبروتوكول
    اضبط اسم البروتوكول المستخدم لاستلام الرسالة. يمكن أن يكون اسم بروتوكول بسيط مثل “UUCP” أو بروتوكول واسم مضيف، مثل “UUCP:ucbvax”.

-q[وقت]
    عالج الرسائل المحفوظة في الطابور على فترات زمنية محددة. إذا تم حذف الوقت، عالج الطابور مرة واحدة. يُعطى الوقت كرقم موسوم، حيث `s' تعني ثوانٍ، `m' تعني دقائق (مبدئي)، `h' تعني ساعات، `d' تعني أيام، و`w' تعني أسابيع. على سبيل المثال، `-q1h30m' أو `-q90m' كلاهما سيضبط المهلة على ساعة وثلاثين دقيقة. بشكل مبدئي، سيعمل sendmail في الخلفية. يمكن استخدام هذا الخيار بأمان مع -bd.

-qp[وقت]
    مشابه لـ -qالوقت، باستثناء أنه بدلاً من إنشاء عملية فرعية دورياً لمعالجة الطابور، يقوم sendmail بإنشاء عملية فرعية واحدة دائمة لكل طابور تتناوب بين معالجة الطابور والنوم. يُعطى وقت النوم كوسيطة؛ المبدئي هو ثانية واحدة. ستنام العملية دائمًا لمدة 5 ثوانٍ على الأقل إذا كان الطابور فارغًا في تشغيل الطابور السابق.

-qf عالج الرسائل المحفوظة في الطابور مرة واحدة ولا تستخدم fork()، بل اعمل في المقدمة.

-qGاسم
    عالج المهام في مجموعة الطابور المسماة الاسم فقط.

-q[!]Isubstr
    تحديد المهام المعالجة بتلك التي تحتوي على substr كسلسلة فرعية من معرف الطابور أو لا عند تحديد !.

-q[!]Qsubstr
    تحديد المهام المعالجة بالمهام المحجوزة التي تحتوي على substr كسلسلة فرعية من سبب الحجز أو لا عند تحديد !.

-q[!]Rsubstr
    تحديد المهام المعالجة بتلك التي تحتوي على substr كسلسلة فرعية من أحد المستلمين أو لا عند تحديد !.

-q[!]Ssubstr
    تحديد المهام المعالجة بتلك التي تحتوي على substr كسلسلة فرعية من المرسل أو لا عند تحديد !.

-Q[سبب]
    حجز عناصر الطابور العادية بالسبب المعطى أو إلغاء حجز عناصر الطابور المحجوزة إذا لم يُعطَ سبب. يجب استخدام هذا فقط مع نوع من مطابقة العناصر كما هو موصوف أعلاه.

-R إرجاع
    تعيين مقدار الرسالة المراد إرجاعها إذا ارتدت الرسالة. يمكن أن تكون معلمة return `full' لإرجاع الرسالة بأكملها أو `hdrs' لإرجاع الرؤوس فقط. في الحالة الأخيرة، تُرجع الارتدادات المحلية الرؤوس فقط أيضًا.

-rاسم
    صيغة بديلة ومهملة للعلامة -f.

-t  قراءة الرسالة للمستلمين. سيتم فحص سطور To: و Cc: و Bcc: لعناوين المستلمين. سيتم حذف سطر Bcc: قبل الإرسال.

-U  إذا تطلب إرسال بريد عبر سطر الأوامر استخدام وسيطة SMTPUTF8 لأمر MAIL، على سبيل المثال، لأن رأسًا يستخدم ترميز UTF-8، ولكن العناوين في سطر الأوامر كلها ASCII، فيجب استخدام هذا الخيار. متاح فقط إذا كان دعم EAI مفعّلاً، وتم تعيين خيار SMTPUTF8.

-V معرف_الظرف
    تعيين معرف الظرف الأصلي. يتم نشر هذا عبر SMTP إلى الخوادم التي تدعم DSN ويُعاد في رسائل الخطأ المتوافقة مع DSN.

-v  الدخول في وضع الإسهاب. سيتم الإعلان عن توسعات الأسماء المستعارة، إلخ.

-X ملف_السجل
    سجل كل حركة المرور داخل وخارج وكلاء البريد في ملف السجل المشار إليه. يجب استخدام هذا فقط كملاذ أخير لتصحيح أخطاء وكلاء البريد. سيسجل كمية كبيرة من البيانات بسرعة كبيرة.

--  أوقف معالجة أعلام الأوامر واستخدم بقية الوسائط كعناوين.

  الخيارات
هناك أيضًا عدد من خيارات المعالجة التي يمكن ضبطها. عادةً ما تُستخدم هذه فقط من قبل مسؤول النظام. يمكن ضبط الخيارات إما في سطر الأوامر باستخدام العلم -o (للأسماء القصيرة)، أو العلم -O (للأسماء الطويلة)، أو في ملف الإعدادات. هذه قائمة جزئية مقتصرة على الخيارات التي يُحتمل أن تكون مفيدة في سطر الأوامر وتظهر الأسماء الطويلة فقط؛ للحصول على قائمة كاملة (وتفاصيل)، راجع دليل تثبيت وتشغيل Sendmail. الخيارات هي:

AliasFile=ملف
    استخدم ملف الأسماء المستعارة البديل.

HoldExpensive
    بالنسبة لوكلاء البريد التي تُعتبر “باهظة الثمن” للاتصال بها، لا تبدأ اتصالًا فوريًا. هذا يتطلب الطابور.

CheckpointInterval=N
    قم بتسجيل نقطة تفتيش لملف الطابور بعد كل N عملية تسليم ناجحة (المبدئي 10). هذا يتجنب عمليات التسليم المكررة المفرطة عند الإرسال إلى قوائم بريدية طويلة متقطعة بسبب أعطال النظام.

DeliveryMode=x
    اضبط وضع التسليم إلى x. أوضاع التسليم هي `i' للتسليم التفاعلي (المتزامن)، `b' للتسليم في الخلفية (غير المتزامن)، `q' للطابور فقط - أي أن التسليم الفعلي يُجرى في المرة التالية التي يُشغل فيها الطابور، و`d' للمؤجل - نفس `q' باستثناء تجنب عمليات البحث في قاعدة البيانات للخرائط التي ضبطت الخيار -D (المبدئي لخريطة المضيف).

ErrorMode=x
    اضبط معالجة الأخطاء إلى الوضع x. الأوضاع الصالحة هي `m' لإعادة إرسال رسالة الخطأ بالبريد، `w' “لكتابة” رسالة الخطأ (أو إعادة إرسالها بالبريد إذا لم يكن المرسل مسجل الدخول)، `p' لطباعة الأخطاء على الطرفية (المبدئي)، `q' لتجاهل رسائل الخطأ (يُعاد فقط حالة الخروج)، و`e' لإجراء معالجة خاصة لـ BerkNet. إذا لم يُعد نص الرسالة بالبريد بواسطة الوضعين `m' أو `w' وإذا كان المرسل محليًا لهذا الجهاز، تُلحق نسخة من الرسالة بالملف dead.letter في الدليل الرئيسي للمرسل.

SaveFromLine
    احفظ أسطر From بنمط UNIX في مقدمة الرسائل.

MaxHopCount=N
    الحد الأقصى لعدد المرات التي يُسمح للرسالة فيها بـ “القفز” قبل أن نقرر أنها في حلقة.

IgnoreDots
    لا تعتبر النقاط في سطر بمفردها كمنهي للرسالة.

SendMimeErrors
    إرسال رسائل الخطأ بتنسيق MIME. إذا لم يتم تعيينه، يتم تعطيل امتداد SMTP الخاص بإشعار حالة التسليم (DSN).

ConnectionCacheTimeout=المهلة
    تعيين مهلة خبيئة الاتصال.

ConnectionCacheSize=N
    تعيين حجم خبيئة الاتصال.

LogLevel=n
    مستوى السجل.

MeToo=False
    لا ترسل إلى "نفسي" (المرسل) إذا كنت ضمن توسيع اسم مستعار.

CheckAliases
    التحقق من صحة الجانب الأيمن من الأسماء المستعارة أثناء أمر newaliases(1).

OldStyleHeaders
    إذا تم تعيينه، فقد تحتوي هذه الرسالة على ترويسات نمط قديم. إذا لم يتم تعيينه، تكون هذه الرسالة مضمونة بأن تحتوي على ترويسات نمط جديد (أي فواصل بدلاً من مسافات بين العناوين). إذا تم تعيينه، يُستخدم خوارزمية تكيفية تحدد تنسيق الترويسة بشكل صحيح في معظم الحالات.

QueueDirectory=دليل_الطابور
    تحديد الدليل الذي سيتم فيه طابور الرسائل.

StatusFile=ملف
    حفظ الإحصائيات في الملف المسمى.

Timeout.queuereturn=الوقت
    تعيين مهلة الرسائل غير المسلمة في الطابور إلى الوقت المحدد. بعد فشل التسليم (مثلًا بسبب تعطل مضيف) لهذه المدة الزمنية، سيتم إرجاع الرسائل الفاشلة إلى المرسل. المدة المبدئية هي خمسة أيام.

UserDatabaseSpec=قاعدة_بيانات_المستخدم
    إذا تم ضبطه، يتم الاستعلام عن قاعدة بيانات المستخدم للحصول على معلومات إعادة التوجيه. يمكنك اعتبار هذا ملحقًا لآلية الأسماء المستعارة، باستثناء أن قاعدة البيانات مخصصة للتوزيع؛ الأسماء المستعارة محلية لمضيف معين. قد لا يكون هذا متاحًا إذا لم يكن برنامج sendmail الخاص بك يحتوي على خيار USERDB مُدرجًا في الترجمة.

ForkEachJob
    تفرع كل مهمة أثناء تشغيل قائمة الانتظار. قد يكون مناسبًا على الأجهزة ذات الذاكرة المحدودة.

SevenBitInput
    تجريد الرسائل الواردة إلى سبع بتات.

EightBitMode=mode
    ضبط معالجة الإدخال ذي الثماني بتات إلى وجهات ذات سبع بتات على mode: m (mimefy) يحول إلى تنسيق MIME ذي سبع بتات، p (pass) يمرره كثماني بتات (لكنه ينتهك البروتوكولات)، و s (strict) يرجع الرسالة.

MinQueueAge=timeout
    ضبط المدة التي يجب أن تبقى فيها مهمة في قائمة الانتظار بين محاولات إرسالها.

DefaultCharSet=charset
    ضبط مجموعة الأحرف المبدئية المستخدمة لتسمية البيانات ذات الثماني بتات غير الموسومة بخلاف ذلك.

NoRecipientAction=action
    ضبط السلوك عندما لا توجد ترويسات مستلمين (To: أو Cc: أو Bcc:) في الرسالة على action: none يترك الرسالة دون تغيير، add-to يضيف ترويسة To: مع مستلمي المغلف، add-apparently-to يضيف ترويسة Apparently-To: مع مستلمي المغلف، add-bcc يضيف ترويسة Bcc: فارغة، و add-to-undisclosed يضيف ترويسة تقرأ `To: undisclosed-recipients:;'.

MaxDaemonChildren=N
    ضبط الحد الأقصى لعدد العمليات الفرعية التي يُسمح لخفيض SMTP الوارد بتوليدها في أي وقت على N.

ConnectionRateThrottle=N
    ضبط الحد الأقصى لعدد الاتصالات في الثانية إلى منفذ SMTP على N.

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

    msgs: "|/usr/bin/msgs -s"

قد تحتوي الأسماء المستعارة أيضًا على الصيغة “:include:filename” لطلب sendmail بقراءة الملف المسمى للحصول على قائمة بالمستلمين. على سبيل المثال، اسم مستعار مثل:

    poets: ":include:/usr/local/lib/poets.list"

سيقرأ /usr/local/lib/poets.list لقائمة العناوين المكونة للمجموعة.

يُرجع Sendmail حالة خروج تصف ما فعله. تُعرّف الرموز في <sysexits.h>:

EX_OK
    إكمال ناجح لجميع العناوين.

EX_NOUSER
    اسم المستخدم غير معروف.

EX_UNAVAILABLE
    معنى شامل بأن الموارد الضرورية لم تكن متاحة.

EX_SYNTAX
    خطأ في بناء الجملة في العنوان.

EX_SOFTWARE
    خطأ برمجي داخلي، بما في ذلك وسائط غير صالحة.

EX_OSERR
    خطأ مؤقت في نظام التشغيل، مثل "لا يمكن إنشاء عملية فرعية".

EX_NOHOST
    اسم المضيف غير معروف.

EX_TEMPFAIL
    تعذر إرسال الرسالة فورًا، ولكنها أُدرجت في الطابور.

إذا استُدعي كـ newaliases، فسيُعيد sendmail بناء قاعدة بيانات الأسماء المستعارة. إذا استُدعي كـ mailq، فسيطبع sendmail محتويات طابور البريد. إذا استُدعي كـ hoststat، فسيطبع sendmail قاعدة بيانات حالة المضيف الدائمة. إذا استُدعي كـ purgestat، فسيُزيل sendmail الإدخالات منتهية الصلاحية من قاعدة بيانات حالة المضيف الدائمة. إذا استُدعي كـ smtpd، فسيعمل sendmail كخادم خفي، كما لو أن الخيار -bd قد حُدد.

ملاحظات
غالبًا ما يُلام sendmail على العديد من المشكلات التي تكون في الواقع نتيجة لمشكلات أخرى، مثل الأوضاع المتساهلة بشكل مفرط على الدلائل. لهذا السبب، يتحقق sendmail من أوضاع الدلائل والملفات النظامية لتحديد ما إذا كان يمكن الوثوق بها. على الرغم من إمكانية إيقاف هذه الفحوصات وتقليل أمان نظامك عن طريق تعيين خيار DontBlameSendmail، يجب إصلاح مشكلات الأذونات. لمزيد من المعلومات، راجع دليل تثبيت وتشغيل Sendmail

الملفات
باستثناء الملف /etc/mail/sendmail.cf نفسه، فإن أسماء المسارات التالية محددة جميعًا في /etc/mail/sendmail.cf. وبالتالي، هذه القيم هي تقريبات فقط.

/etc/mail/aliases
    البيانات الأولية لأسماء الأسماء المستعارة

/etc/mail/aliases.db
    قاعدة بيانات أسماء الأسماء المستعارة

/etc/mail/sendmail.cf
    ملف الضبط

/etc/mail/helpfile
    ملف المساعدة

/var/lib/sendmail/sendmail.st
    الإحصائيات المجمعة

/var/spool/mqueue/*
    الملفات المؤقتة

انظر أيضًا
binmail(1), mail(1), rmail(1), syslog(3), aliases(5), mailaddr(7), rc(8)

طلب تعليقات الإنترنت DARPA RFC819, RFC821, RFC822. دليل تثبيت وتشغيل Sendmail، رقم 8، SMM.

http://www.sendmail.org/

أرقام براءات الاختراع الأمريكية 6865671, 6986037.

التاريخ
ظهر أمر sendmail في 4.2BSD.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.