Câu trả lời:
formail , một phần của procmail (và có lẽ đã có sẵn trên hệ thống của bạn) có thể lấy một hộp thư, chia nó thành các tin nhắn và sau đó chạy một lệnh trên mỗi cái. Từ trang người đàn ông:
-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.
Vì vậy, bạn có thể làm những gì tôi nghĩ bạn muốn như thế này:
formail -s /usr/sbin/sendmail -oi -t < /var/mail/root
ls /var/mail
; do formail -s / usr / sbin / sendmail -oi $ foo <./$foo; xong" sẽ lặp từng tệp và phân phối cục bộ ..
mutt -f /var/mail/www-data
Sau đó trong mutt ...
T.*
;b
T đặt nó vào chế độ gắn thẻ và. * Gắn thẻ tất cả các tin nhắn. Dấu chấm phẩy áp dụng lệnh tiếp theo cho tất cả các tin nhắn được gắn thẻ và cuối cùng b "trả lại" các tin nhắn đến một địa chỉ mà nó sẽ nhắc.
Từ trí nhớ, tôi cũng nghĩ
D.*
hoặc là
T.*
;d
Sau đó sẽ làm trống hộp thư.
Các tập tin hộp thư / var / spool / mail / xxx unix là các tệp văn bản đơn giản trong đó các thư được giữ theo thứ tự. Mỗi thư được bắt đầu bằng một dòng "Từ" (taht không phải là một phần của thư) với người gửi và ngày nhận, sau đó bạn nhận được các tiêu đề thư, sau đó là nội dung thư.
Về cơ bản, bạn chỉ có thể lặp trên tệp phát hiện như vậy Từ các dòng và trích xuất mọi tin nhắn sau đó gửi chúng bằng các công cụ như mô-đun python smtp hoặc mô-đun Net :: SMTP từ cpan.
Nếu mục tiêu là một hộp thư cục bộ khác, bạn chỉ có thể nối các tin nhắn (bao gồm cả dòng Từ) vào nó. Bạn thậm chí có thể nối toàn bộ hộp thư gốc vào một hộp thư khác nếu bạn không quan tâm đến việc nhận được thư thực sự nhắm mục tiêu đến root.
Tôi nên có một số kịch bản làm điều đó và sẽ đăng các ví dụ nếu bạn muốn.
Vấn đề có thể là để có được mục tiêu thực sự của tin nhắn bởi vì nếu chúng kết thúc trong hộp thư gốc thì có lẽ chúng đã được nhắm mục tiêu để root từ đầu?