腳本幫助 - 解析 /var/spool/mail/user

腳本幫助 - 解析 /var/spool/mail/user

CentOS 5.x |傳送郵件

嗨,大家好,

有沒有簡單的方法可以從 /var/spool/mail/ 擷取單一郵件?我有一個非常簡單的腳本的想法,並且想檢查每個訊息的某些內容。

場景是:

1) 新電子郵件到達收件匣。 2) 腳本檢查特定字串。 3) 如果找到字串,腳本將檢索各種標題資訊和電子郵件地址資訊。

我意識到 milter 可能是可行的方法,但我希望找到一種使用 shell 腳本來完成此操作的方法,因為我想練習這一點。問題是我似乎無法找到一種方法來解析或以其他方式隔離各個訊息。當我檢查 /var/spool/mail/ 時,我看到一個包含多個訊息的大文件,並且訊息之間沒有唯一的分隔符號。

答案1

如果忽略簡單的 shell 腳本,幾乎每種程式語言都有一個函式庫來解析信箱格式化的郵箱。

當然,如果您環顧四周,您還可以找到很多 POP3 和 IMAP 用戶端程式庫。

您還應該能夠使用類似的東西程式郵件或者郵件投遞過濾您的訊息。

答案2

通常,您會在收到郵件時使用 MDA(例如 procmail)執行此類操作。如果您已經有一個郵箱,procmail 附帶formail(1),它允許您對郵箱中的每封郵件運行一個程序,並具有過濾和重寫標頭的功能。

相關內容