procmail을 통해 복사된 이메일의 파일 이름을 어떻게 가져와서 스크립트에 전달합니까?

procmail을 통해 복사된 이메일의 파일 이름을 어떻게 가져와서 스크립트에 전달합니까?

이메일이 내 서버에 도착하면 스크립트를 실행하고 파일 이름을 전달하려고 합니다. 첫 번째 부분이 완료되었습니다. 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

관련 정보