ด้วยการกำหนดค่าผิดพลาดบางครั้งฉันมีอีเมลจำนวนมากใน / var / mail / root และ / var / mail / www-data
ฉันจะ "วนซ้ำ" เหนือไฟล์เหล่านี้และส่งจดหมายแต่ละฉบับในเวลาอื่นได้อย่างไร
ด้วยการกำหนดค่าผิดพลาดบางครั้งฉันมีอีเมลจำนวนมากใน / var / mail / root และ / var / mail / www-data
ฉันจะ "วนซ้ำ" เหนือไฟล์เหล่านี้และส่งจดหมายแต่ละฉบับในเวลาอื่นได้อย่างไร
คำตอบ:
formailส่วนหนึ่งของ procmail (และอาจมีอยู่แล้วในระบบของคุณ) สามารถนำกล่องจดหมายแยกออกเป็นข้อความแล้วเรียกใช้คำสั่งในแต่ละรายการ จากหน้าคน:
-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
ls /var/mail
; formail -s / usr / sbin / sendmail -oi $ foo <./$foo; เสร็จสิ้น" ควรวนรอบแต่ละไฟล์และส่งแบบโลคัล ..
mutt -f /var/mail/www-data
จากนั้นภายใน mutt ...
T.*
;b
T ทำให้มันอยู่ในโหมดการแท็กและ. * แท็กข้อความทั้งหมด เซมิโคลอนจะใช้คำสั่งถัดไปกับข้อความที่ติดแท็กทั้งหมดและในที่สุด b "ตีกลับ" ข้อความไปยังที่อยู่ที่จะแจ้งให้
จากความทรงจำฉันก็คิดเช่นกัน
D.*
หรือ
T.*
;d
จากนั้นจะทำให้กล่องจดหมายว่างเปล่า
ไฟล์กล่องจดหมาย / var / spool / mail / xxx unix เป็นไฟล์ข้อความทั่วไปที่เก็บข้อความเมลตามลำดับ ข้อความอีเมลแต่ละข้อความเริ่มต้นด้วยบรรทัด "จาก" (ไม่ใช่ส่วนหนึ่งของข้อความ) พร้อมด้วยผู้ส่งและวันที่รับคุณจะได้รับส่วนหัวจดหมายจากนั้นตามด้วยเนื้อหาของจดหมาย
โดยทั่วไปคุณสามารถวนรอบไฟล์ที่ตรวจจับเช่นจากบรรทัดและแยกทุกข้อความแล้วส่งโดยใช้เครื่องมือเช่นโมดูล ptp smtp หรือโมดูล perl Net :: SMTP จาก cpan
หากเป้าหมายเป็นกล่องจดหมายอีกกล่องคุณสามารถเพิ่มข้อความต่อท้าย (รวมถึงบรรทัดจาก) คุณสามารถผนวกทั้งกล่องจดหมายรูททั้งหมดไปยังกล่องจดหมายอื่นได้หากคุณไม่สนใจว่าจะได้รับข้อความที่กำหนดเป้าหมายไปที่รูทจริงๆหรือไม่
ฉันควรมีสคริปต์ที่ทำเช่นนั้นและจะโพสต์ตัวอย่างถ้าคุณต้องการ
ปัญหาอาจได้รับเป้าหมายที่แท้จริงของข้อความเพราะหากพวกเขาจบลงในกล่องจดหมายรูทพวกเขาอาจถูกกำหนดเป้าหมายให้รูทจากจุดเริ่มต้นหรือไม่