แยก / บันทึกไฟล์แนบเมลโดยใช้ bash


30

การใช้bashเครื่องมือปกติ(เช่นเครื่องมือบรรทัดคำสั่งในตัวหรือทั่วไปที่มีอยู่) ก็คือ

  • เป็นไปได้และ
  • อย่างไร

แยก / บันทึกไฟล์แนบในอีเมลได้อย่างไร

ตัวอย่างเช่นสมมติว่าฉันมีรายงานทุกคืนที่มาถึงทางอีเมล แต่เป็นไฟล์เก็บถาวรของไฟล์บันทึกหลายไฟล์ ฉันต้องการบันทึกรหัสไปรษณีย์เหล่านั้นทั้งหมดลงในไดเรกทอรีสำรอง ฉันจะทำให้สำเร็จได้อย่างไร


"Normal bash tools" - คุณหมายถึงการใช้เฉพาะฟังก์ชั่นที่สร้างไว้ใน bash (เช่นสิ่งที่คุณจะพบในหน้า bash man) หรือคุณหมายถึงโดยทั่วไปแล้วเครื่องมือบรรทัดคำสั่งที่คุณสามารถเพิ่มลงในสคริปต์เชลล์ bash ?
Doug Harris

@Doug แฮร์ริส - ทั้ง .. ถ้าฉันสามารถโทรmailและทำเช่นนี้หรือประหยัด elsewise สิ่งที่แนบมาที่ดีมากเกินไป :)
วอร์เรน

คำตอบ:


29

หากคุณกำลังเล็งสำหรับการพกพาระวังว่ามีหลายรุ่นต่าง ๆและmail(1) mailx(1)มีmailxคำสั่งPOSIX แต่มีข้อกำหนดน้อยมาก และไม่มีการใช้งานที่ฉันดูเหมือนจะแยกสิ่งที่แนบมาอยู่แล้ว

คุณอาจจะมีแพคเกจ MPACK munpackคำสั่งมันบันทึกทุกส่วนของข้อความ MIME เป็นไฟล์แยกต่างหากจากนั้นสิ่งที่คุณต้องทำคือบันทึกชิ้นส่วนที่น่าสนใจและล้างส่วนที่เหลือ

นอกจากนี้ยังมีmetamail เท่ากับมีmunpackmetamail -wy


นอกจากนี้เพื่อเพิ่มว่าถ้าคุณต้องการที่จะแยกข้อความส่วน MIME ของอีเมลเมื่อใช้munpackแล้วใช้ตัวเลือก '-t':munpack -t email_file
Pierz

metamailขอบคุณสำหรับข้อมูลเกี่ยวกับ คุณช่วยฉันด้วยคำถามนี้ได้ไหม
george

13

โปรแกรมที่ดีที่สุดสำหรับจุดประสงค์นี้คือ ripMIME

มันแยกข้อความและสิ่งที่แนบมาทั้งหมด:

https://pldaniels.com/ripmime/

GitHub: inflex / ripMIME


4
sudo apt install ripmime ทำงานได้แม้ว่า ดูเพิ่มเติมlinux.die.net/man/1/ripmime ฉันใช้โปรแกรมนี้ ใช้งานได้ดีไม่ต้องพึ่งพายกเว้น libc6
unhammer

สิ่งที่ดี metamail และ munpack ไม่พร้อมใช้งานบน Ubuntu แต่ ripmime เป็นและทำสิ่งที่คาดหวัง
Diego

2
  • ใช่เป็นไปได้

  • นี่คือวิธี (ทรัพยากรจากที่นี่ )

ค้นหา dir ที่มีไฟล์ | ในขณะที่อ่านไฟล์ ทำ

สร้าง tempdir และคัดลอกไฟล์ที่นั่น

เรียกใช้ munpack ในไฟล์และคัดลอกไฟล์แนบที่อื่น

ทำลาย tempdir (เนื้อหา)

เสร็จแล้ว


หากใครต้องการให้ฉันวางสคริปต์ Perl ที่นี่เพียงแค่แสดงความคิดเห็น
subanki

1
ถ้าคุณจะให้ชนิด (ชัดออกระบุแหล่งที่มาของการที่คุณจะพบว่า :))
วอร์เรน

1
เพิ่งอ่านสคริปต์ ... นั่นคือเฮคคูวาเพอร์เพิล!
warren

ดังนั้นคุณแน่ใจว่าคุณต้องการให้ฉันรวมไว้ในคำตอบของฉันมันจะยาวมาก
subanki

ไม่วางที่นี่คัดลอกจากต้นฉบับเดิมจะดีกว่าในกรณีนี้ :)
วอร์เรน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.