मैं फिर से / var / mail / root कैसे भेज सकता हूं?


12

कुछ ग़लतफ़हमी के माध्यम से मैंने / var / mail / root और / var / mail / www-data में बहुत सारे ईमेल किए हैं

मैं इन फ़ाइलों पर "लूप" कैसे कर सकता हूं और प्रत्येक मेल को दूसरी बार भेज सकता हूं?

जवाबों:


17

फॉर्मेल , घोषित का हिस्सा (और शायद आपके सिस्टम पर पहले से ही उपलब्ध है) एक मेलबॉक्स ले सकता है, इसे संदेशों में विभाजित कर सकता है, और फिर प्रत्येक पर एक कमांड चला सकता है। मैन पेज से:

   -s   The input will be split up into separate mail messages, and  piped
        into  a  program  one  by  one (a new program is started for every
        part).  -s has to be the last option specified, the first argument
        following  it  is  expected to be the name of a program, any other
        arguments will be passed along to it.  If you  omit  the  program,
        then  formail  will  simply  concatenate the split mails on stdout
        again.  See FILENO.

तो आप ऐसा कर सकते हैं जो मुझे लगता है कि आप इस तरह चाहते हैं:

  formail -s /usr/sbin/sendmail -oi -t < /var/mail/root

3
लेकिन यह भी क्या kriss ने कहा: संबोधित; इस समाधान ने मान लिया है कि आपने अपने स्थानीय उपनामों या संदेशों को वापस भेजने के लिए / var / mail / root के अलावा कहीं और कुछ तय किया है। उदाहरण के लिए, आप सभी संदेशों को पुनर्निर्देशित करने के लिए "formail -s / usr / sbin / sendmail -oi you@somewhere.else" कर सकते हैं।
लार्क्स

यह मानते हुए कि www-data और root अब ठीक से कॉन्फ़िगर किए गए हैं, जैसे "foo in foo ls /var/mail? do formail -s / usr / sbin / sendmail -oi $ foo <//$foo;" जैसे कुछ "प्रत्येक फाइल को लूप करना चाहिए और स्थानीय रूप से डिलीवर करना चाहिए।"
टॉम एच

3
mutt -f /var/mail/www-data

फिर उत्परिवर्तन के भीतर ...

T.*
;b

T इसे टैगिंग मोड में डालता है, और * सभी संदेशों को टैग करता है। अर्ध-बृहदान्त्र सभी टैग किए गए संदेशों के लिए अगले आदेश को लागू करता है, और अंत में संदेशों को उस पते पर "बाउंस" करता है जो इसके लिए संकेत देगा।

स्मृति से, मुझे लगता है कि या तो

D.*

या

T.*
;d

फिर मेलबॉक्स को खाली कर देगा।


0

/ Var / स्पूल / मेल / xxx यूनिक्स मेलबॉक्स फाइलें सरल पाठ फाइलें हैं जहां मेल संदेशों को अनुक्रम में रखा जाता है। प्रत्येक मेल संदेश प्रेषक और रिसेप्शन की तारीख के साथ एक "From" लाइन (संदेश का हिस्सा नहीं है) से शुरू होता है, फिर आपको मेल हेडर, फिर मेल बॉडी मिलती है।

मूल रूप से आप फ़ाइल पर लूप कर सकते हैं, जैसे कि लाइनों से और हर संदेश को निकालने के बाद, उन्हें python smtp मॉड्यूल या पर्ल नेट :: SMTP मॉड्यूल जैसे cpan से टूल का उपयोग करके भेजें।

यदि लक्ष्य एक अन्य स्थानीय मेलबॉक्स है तो आप संदेशों को (लाइन से) को जोड़ सकते हैं। यदि आप वास्तव में रूट के लिए लक्षित संदेशों की भी परवाह नहीं करते हैं, तो आप पूरे रूट मेलबॉक्स को दूसरे मेलबॉक्स में जोड़ सकते हैं।

मेरे पास कुछ स्क्रिप्ट होनी चाहिए जो ऐसा करती हैं और यदि आप चाहें तो छूट पोस्ट करेंगी।

समस्या संदेश के वास्तविक लक्ष्य को प्राप्त करने के लिए हो सकती है क्योंकि यदि वे रूट मेलबॉक्स में समाप्त हो गए तो संभवत: उन्हें भीख मांगने से रोकने के लिए लक्षित किया गया था?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.