我试图在电子邮件到达我的服务器时执行脚本并将其文件名传递给该脚本。第一部分已完成,每次电子邮件到达时 procmail 都会执行脚本。在执行脚本之前,它将电子邮件复制到特定目录。
:0c
procmail-dir/
:0 fw
| /usr/bin/python3 /home/user/script.py
如何获取刚刚在 procmail-dir 中保存的电子邮件的文件名/路径并将其传递给 script.py?
答案1
该变量LASTFOLDER
包含发生最新消息传递的文件名。它被导出到子进程,因此您可以使用Python从Python访问它os.environ['LASTFOLDER']
,或者,当然,也可以使用类似的命令将它作为命令行参数传递
:0fw
| python3 /path/to/script.py "$LASTFOLDER"
Python 仍然会在标准输入上接收消息,因此传递文件名的要求似乎有点可疑。 (另外,设置你的,PATH
这样你就不必python3
每次都明确地拼写出位置。)