سؤال ما هي رسالة "لديك بريد جديد" في Linux / UNIX؟


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

  • اين هذا البريد؟
  • ماذا تحتوي؟
  • من / ما أرسله؟
  • ما مدى أهمية ذلك؟

هل هذا حتى "البريد" الفعلي في نفس المعنى البريد الإلكتروني؟ أم هو فقط نظام بلدي يقول لي شيئا؟

تصحيح: المتعلق ب هذه السؤال ، هل يمكنني إرسال بريد ذاتي باستخدام برنامج sendmail مثل: email@localhost؟


378
2017-07-04 15:23


الأصل


لدي رسالة واحدة هناك تقول "هذا النص جزء من التنسيق الداخلي لمجلد البريد الخاص بك ، ..." لذا بالطبع عندما أسجل الدخول ، أبلغت أن لدي بريدًا. - GEdgar
GEdgar: هذا يعني عادةً أنك يجب أن تتوقف عن استخدامه MBOX صناديق البريد والترحيل إلى دليل البريد :) - grawity
ذات صلة: superuser.com/questions/149282/... - dmckee
كيفية إعادة توجيه البريد: unix.stackexchange.com/questions/26666/... - Melebius
في حالة أن أي شخص يبحث ، هنا هو powerhshell واحد الخطوط الملاحية المنتظمة لينقسم ذلك إلى ملفات واحدة يمكن قراءتها بواسطة outlook: $i=0;(gc .\mail\root -raw) -split '[^, ]From '|%{$i++;sc mail$i.eml -value ("From " + $_)} - JDuarteDJ


الأجوبة:


اين هذا البريد؟

من المحتمل أن يكون في ملف التخزين المؤقت: /var/mail/$USER أو /var/spool/mail/$USER هي المواقع الأكثر شيوعًا على Linux و BSD.

(مواقع أخرى ممكنة - تحقق مما إذا كان $MAIL تم تعيينه - ولكن بشكل افتراضي ، يعلمك النظام فقط /var(/spool)/mail.)

عادة ما يكون ملف التخزين المؤقت في غاية البساطة MBOX تنسيق ، حتى تتمكن من فتحه في محرر نصوص أو جهاز النداء.

للحصول على طريقة أكثر ملاءمة قليلاً ، تأتي معظم التوزيعات مع برنامج يسمى mail (أو Mail، mailx). يمكنك المحاولة mutt أو alpine. يمكنك حتى تكوينه ليتم إرساله إلى صندوق بريد خارجي. (راجع "هل هذا البريد الحقيقي؟" أدناه.)

ما الذي تحتويه ، ومن / ماذا أرسل؟

في معظم الأحيان تحتوي الرسائل على مخرجات مهام cron أو تقرير أمان النظام بواسطة logwatchأو ما شابه. اقرأها واكتشف.

ما مدى أهمية ذلك؟

يعتمد بشكل كبير على محتويات كل رسالة.

أنت ينبغي على الأقل فحص رؤوس الموضوعات - غالبًا ما يتجاهل الأشخاص البريد لأشهر دون أن يدركوا أن مهامهم اليومية تفشل.

هل هذا حتى "البريد" الفعلي في نفس المعنى البريد الإلكتروني؟ أم هو فقط نظام بلدي يقول لي شيئا؟

نعم لكليهما - يتم إنشاؤه بواسطة نظامك ليخبرك بشيء ما ، ولكنه أيضًا بريد إلكتروني فعلي ويمكن التعامل معه على هذا النحو.

يمكنك (ويجب) تكوين برنامج البريد الخاص بك - "MTA" الملقب /usr/sbin/sendmail - لإعادة توجيه الرسائل إلى عنوان بريدك الشخصي. وتختلف التعليمات الدقيقة تبعًا لأي MTA (إن وجد) الذي قمت بتثبيته ، سواء كان هذا جهاز كمبيوتر شخصي أو خادم ، سواء كان لديك مجال خاص بك أو استخدم @ gmail.com، وما إلى ذلك وهلم جرا.

لاحظ أن /usr/sbin/sendmail في الوقت الحاضر هو API المشتركة و لا يعني بالضرورة الإرسال الأصلي MTA. في الواقع ، أنت لا ينبغي استخدام Sendmail ، ولكن شيء أكثر حداثة مثل OpenSMTPD ، Postfix ، أو Exim4. كل منهم يقدم نفسه /usr/sbin/sendmail أداة ، ولكنها أسهل في التهيئة وأكثر أمانًا وقوة.


317
2017-07-04 16:30



اجابة جيدة. لو أضفت روابط تحتوي على معلومات حول كيفية تكوين OpenSMTPD أو Postfix أو Exim4 لإعادة توجيه البريد إلى عنوان بريدك الإلكتروني العادي ، لكان أفضل. - imolit
فيما يلي سؤال ذو صلة يوضح كيفية الإعداد المغفل: askubuntu.com/a/499335/75735 - KalenGi
جواب رائع. لكن كيف أستخدم mail لقراءة البريد الإلكتروني؟ ال manpage لا يقول. - jpaugh
عرضت بريدي باستخدام الأمر / var / mail / $ USER من قِبل cat وأزالته باستخدام الأمر rm -rf / var / mail / $ USER. - Sinan Eldem
grawity يجب حذف الملفات في /var/mail/ عندما أقرأها أو أقوم فقط بمسح النص داخلها؟ شكرا جزيلا! - yaylitzis


كانت أسهل طريقة بالنسبة لي هي تشغيل ما يلي في جهاز طرفي:

cat /var/spool/mail/root

185
2017-11-25 11:46



أفضل إجابة عملية حتى الآن تضيف إلى المعرفة. الآن يمكنني قراءة البريد. أتساءل لماذا هو أسفل الإجابة. - CDR
أدرك أن هذا سؤال / جواب قديم جدًا ، ولكن هذا XKCD ذات صلة بالمناقشة. (تلميح: نص التمرير) - Blackhawk
أو فقط less $MAIL إذا كنت تريد التنقل. - Walf
أو less +G $MAIL لتبدأ في النهاية. - Charlie Gorichanaz
Blackhawk والآن أكثر من ذلك هذا XKCD. - dessert


لأي شخص يتساءل عن كيفية قراءة هذه الرسائل واحدة تلو الأخرى ، يمكنك فقط استخدام "البريد"

$ mail

ثم اكتب رقم رسالة من القائمة التي تريد قراءتها.

للانتقال إلى الرسالة التالية ، يمكنك كتابة "التالي" ، وأمر آخر مفيد هو "حذف" ..

لمعرفة المزيد عن كيفية mail يعمل البرنامج ، راجع إخراج man mail.


41
2017-08-30 19:47



// ، هذا لا يعمل في الواقع ، على CEntOS 6. في هذه الحالة ، يجب على المرء أن يستخدم $ mailx. - Nathan Basanese
على Ubuntu 16.04 ، أحتاج إلى التثبيت أولاً mailutils عن طريق الركض apt install mailutils - Edwin Yip
في حالات Amazon EC2 ، يمكنك تثبيته باستخدام sudo yum install mail - JonDoe297
يعمل لي على macOS - juanmirocks


لمجرد تقديم بعض التوضيحات ، فقد كان تقليدًا منذ وقت طويل لمربعات UNIX لتشغيل برنامج ترحيل البريد "المكوّن محليًا" الذي لا يوجه الرسائل عبر الإنترنت ، ولكن فقط نسخ الرسائل إلى المستخدمين الآخرين لتخزين الأدلة (مثلJohn T المذكورة). إنه بريد إلكتروني متوافق مع SMTP حقيقي ، ولا يتم توجيهه عبر الإنترنت فقط لأنه لا يحتاج إلى أن يكون.

لذا ، إذا قمت بإطلاق عميل بريد إلكتروني (مثل alpine أو mutt) يمكنك إرسال بريد إلى مستخدمين آخرين على النظام عن طريق مخاطبة user@hostname، أو في كثير من الحالات ، تحديد المستخدم فقط. من المحتمل أيضًا أن يكون لديك أداة مساعدة لسطر الأوامر تسمى mailx التي يمكن استخدامها لإرسال بريد إلكتروني سريع باستخدام shell الخاص بك.

الآن ، إذا كنت ترغب في إرسال رسائل إلى المستخدمين على أنظمة أخرى غير تلك التي قمت بتسجيل الدخول إليها ، فهذا هو المكان الذي تبدأ فيه المتعة الحقيقية. ستحتاج إلى إعداد برنامج البريد الخاص بك لتعرف وتسليم البريد الإلكتروني الخارجي إلى وكيل النقل ، وتكوين وكيل النقل ، والقيام بمجموعة كاملة من الأشياء التي لا أفهمها بعد.


37
2017-07-04 16:31





اين هذا البريد؟

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

ماذا تحتوي؟

ربما فقط بعض الاشياء نوع تقرير النظام. "وهكذا حاول تسجيل الدخول 10 مرات بكلمة مرور غير صحيحة" .. "أتمنى أن يقوم شخص ما بتشغيل التحديثات الخاصة بي" ، "سائق  مثل هذا ومثل هذا هو الفشل باستمرار "،" بوت NSA قد عزز الأداء بنسبة 1 ٪ ".. الخ ..

من / ما أرسله؟

الخدمات على الخادم الخاص بك ، على الأرجح.

ما مدى أهمية ذلك؟

يعتمد على مدى أهمية الخادم الخاص بك.


23
2017-07-04 15:29



أعتقد أن اقتراح جون الذي تم تخزينه في / var / spool / mail / root يستند إلى افتراض (جيد) أنك تقوم بتشغيل برنامج sendmail. أعتقد أن خوادم البريد الأخرى تستخدم مواقع مختلفة لتخزين البريد. - James T Snell
هل هناك طريقة للمستخدمين لاستخدام نظام البريد الفرعي؟ - n0pe
وايت فينيكس: سألقي نظرة عندما يكون بريدي عندما أحصل على الرسالة مرة أخرى :) هل هناك طريقة بالنسبة لي لإثارتها أم أنها مترجمة جدا للسؤال؟ - n0pe
إذا كنت ترغب في استكشاف تشغيل خادم البريد الخاص بك (الذي يستخدمه الأشخاص بمعنى البريد الإلكتروني النموذجي) ، فسيساعد أولاً على معرفة ما توزيعة البيانات التي تقوم بتشغيلها؟ بدون هذه المعلومات ، كل ما سأقوله ، هو أنني أقترح عليك أن تقرأ على sendmail (لأنك ربما تقوم بتشغيل sendmail بالفعل) .. - James T Snell
معظمهم يشغل AIX لكني أود استكشاف هذا على محطة العمل الخاصة بي في المنزل الذي يشغل OpenSuSe - n0pe


يقع هذا البريد عادةً في /var/spool/mail/root عندما يتم تكوين البرنامج الافتراضي الخاص بـ sendmail الخفي (المعتاد). يحتوي على رسالة بريد إلكتروني RAW يمكن قراءتها بواسطة mail خدمة. من الذي أرسلها يمكن العثور عليه عن طريق تشغيل mail فائدة و paging من خلال الرسائل أو قراءة رؤوس RAW.

أهمية الرسالة تعتمد عادة على العامل السابق ، الذي أرسلها :)

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


13
2017-07-04 15:28



هل هناك طريقة لمعرفة كيف يتم إعداد نظام البريد الفرعي الخاص بي؟ - n0pe
تضمين التغريدة sendmail.mc عناصر التحكم في ملف تكوين البرنامج النصي sendmail على معظم التثبيتات الافتراضية. يقع عادة تحت /etc/mail. - John T
Max أود أن أوصي بشدة القراءة من خلال برنامج تعليمي مثل linuxhomenetworking.com/wiki/index.php/... لمساعدتك في تكوين برنامج إرسال البريد بالشكل المطلوب. - John T
على أوبونتو 16.4 ، لدي /etc/mail.rc لا علاقة لها sendmail - Timo


less +G /var/spool/mail/root

يعرض آخر الرسائل ، في النهاية إذا كان الملف.

يعد عرض ملف البريد بشكل مباشر فكرة جيدة ، ولكن باستخدامه cat يمكن أن تذهب بسهولة خاطئة. انت لا تريد الكل يتم تمرير الرسائل ، إذا كان هناك العديد من الرسائل ، أو رسائل طويلة جدًا في الملف. أنا فقط رأيت واحد مع 150MB ، مليوني خط.

إذا لم تكن الجذر:

sudo less +G /var/spool/mail/root

ال +G يستخدم الخيار لإظهار أحدث رسالة أولاً ؛ ليس في أعلى الملف ، ولكن في النهاية.

إنه خيار less، مما يجعلها تظهر الصفحة الأخيرة من الملف بعد البدء. تُظهر الرسالة الأخيرة (الأحدث) ، إذا كانت ملائمة لصفحة واحدة ، أو نهاية تلك الرسالة بخلاف ذلك.

قد يكون اسم الملف /var/spool/mail/mail بدلا من /var/spool/mail/root


11
2017-09-03 00:16



// ، انهيار ممتاز. ستكون هذه الإجابة مفيدة بشكل خاص لأولئك الأشخاص الذين لا يعرفون بسهولة ما يجب فعله بالملف. - Nathan Basanese
في حال كان أي شخص آخر يتساءل ، +G "يؤدي بشكل أقل إلى عرض كل ملف بداية في البداية بدلاً من البداية." (linux.die.net/man/1/less) - Sam
Sam شكرا ، صقل بعض أكثر. - Volker Siegel