Linux

如何通過procmail獲取複製電子郵件的文件名並將其傳遞給腳本?

  • March 26, 2020

當電子郵件到達我的伺服器並將其文件名傳遞給該腳本時,我正在嘗試執行腳本。第一部分完成後,procmail 每次收到電子郵件時都會執行腳本。在執行腳本之前,它會將電子郵件複製到特定目錄。

:0c
procmail-dir/
:0 fw
| /usr/bin/python3 /home/user/script.py

如何獲取剛剛保存在 procmail-dir 中的電子郵件的文件名/路徑並將其傳遞給 script.py?

該變數LASTFOLDER包含發生最新消息傳遞的文件名。它被導出到子程序,因此您可以使用 Python 從 Python 訪問它os.environ['LASTFOLDER'],或者,當然,將其作為命令行參數傳遞,例如

:0fw
| python3 /path/to/script.py "$LASTFOLDER"

Python 仍會在標準輸入上接收消息,因此傳遞文件名的要求似乎有點可疑。(另外,設置你的,這樣你就不必每次都明確地PATH拼出位置。)python3

引用自:https://unix.stackexchange.com/questions/574968