cmdline에서 procmail을 실행하고 .eml 파일을 입력으로 제공하려면 어떻게 해야 합니까?

cmdline에서 procmail을 실행하고 .eml 파일을 입력으로 제공하려면 어떻게 해야 합니까?

수신 이메일에서 외부 Python 스크립트를 실행할 때 Procmail이 실패합니다. 그 후에 스크립트를 수동으로 실행하고 procmail과 동일한 매개변수를 제공하려고 시도했습니다. 아무런 문제 없이 통과되었으므로 procmail이 스크립트에 문제가 있는 이유를 알아내려고 노력하고 있습니다. cmdline에서 procmail을 실행하고 이메일의 원시 데이터가 포함된 저장된 .eml 파일의 경로를 제공할 수 있습니까? 다른 것을 구성해야 한다면 권한이 잘못되었을 수도 있습니다. 하지만 Python 스크립트를 수동으로 확인한 것과 동일한 사용자가 procmail을 실행한 것 같습니다.

답변1

다음 명령을 사용하여 스크립트를 테스트할 수 있습니다.

procmail -m VERBOSE=yes recipe.rc <message.eml

물론 레시피 파일 및/또는 샘플 메시지의 파일 경로는 절대 경로이거나 상대 경로일 수 있습니다. 자세한 로깅이 표시 됩니다 VERBOSE=yes( LOGFILE또는 레시피 파일에 다른 대상을 지정하지 않은 경우 표준 오류 발생). -m레시피가 실행되지 않으면 전달을 피하세요.DEFAULT

레시피가 실행되고 부작용이 있는 경우 해당 부작용은 여전히 ​​존재합니다. 하지만 일반적으로 특정 변수가 설정될 때 별도의 위치에서 전달이 이루어지도록 코드를 배열하여 라이브 메일을 가득 채울 필요 없이 디버깅을 용이하게 할 수 있습니다. 테스트 메시지 폴더.

.emlProcmail이 기대하는 RFC5322(née 822) 형식을 참조하고 있을지라도 그 가치 는 잘 표준화되어 있지 않습니다. 그러나 .eml완전히 다른 형식의 확장 프로그램을 사용하는 프로그램이 많이 있습니다 .

추가 디버깅 팁을 보려면 다음을 참조하세요.http://www.iki.fi/era/mail/procmail-debug.html

관련 정보