Linux
如何在 cmdline 中執行 procmail 並提供 .eml 文件作為輸入?
在收到的電子郵件上執行我的外部 python 腳本時,Procmail 失敗。之後,我嘗試手動執行該腳本並提供與 procmail 相同的參數 - 它通過時沒有任何問題,所以我試圖弄清楚為什麼 procmail 與該腳本有問題。是否可以從 cmdline 執行 procmail 並使用電子郵件的原始數據提供保存的 .eml 文件的路徑?我應該配置其他東西嗎,也許權限是錯誤的 - 但我猜 procmail 是由與我對 python 腳本進行手動檢查的同一使用者執行的。
你可以測試一個腳本
procmail -m VERBOSE=yes recipe.rc <message.eml
當然,配方文件和/或範例消息的文件路徑可以是絕對的或相對的。隨著
VERBOSE=yes
您獲得詳細的日誌記錄(在標準錯誤上,如果您沒有LOGFILE
在配方文件中指定不同的目的地);如果沒有配方觸發,-m
請避免傳遞給。DEFAULT
如果配方觸發並且它有副作用,這些仍然存在,儘管您通常可以安排您的程式碼,以便在設置特定變數時將傳遞發生在一個單獨的位置,以便在不填充您的實時郵件文件夾的情況下促進調試帶有測試消息。
就其價值而言,它的
.eml
標準化程度並不高,儘管您可能指的是 RFC5322(née 822)格式,這正是 Procmail 所期望的。不過,有許多程序將.eml
副檔名用於完全不同的格式。有關進一步的調試提示,也許另見http://www.iki.fi/era/mail/procmail-debug.html