이메일 수신 후 명령어 실행

이메일 수신 후 명령어 실행

주어진 주소/사용자 이름으로 이메일을 받거나 일부 텍스트가 포함된 이메일을 받을 때 명령을 실행하도록 Postfix를 어떻게 설정합니까?

답변1

텍스트를 일치시킬 수 있는 방법은 없지만 모든 메시지를 주소로 프로그램에 전달할 수 있습니다.

시스템 별칭 파일(보통 /etc/postfix/aliases 또는 사용자의 .forward 파일)에 별칭을 추가해야 합니다. 첫 번째 옵션은 더 나은 유연성을 제공합니다. 실제로 계정에 매핑되지 않는 주소에 대한 별칭을 가질 수 있기 때문입니다.

별칭은 다음과 같아야 합니다.

|/usr/local/bin/command

실행될 컨텍스트를 모르기 때문에 전체 경로를 제공해야 합니다.

프로그램이 67로 종료되면 알 수 없는 사용자로 메시지가 반송되고 0은 메시지를 삭제합니다. 메시지 시간이 초과되어 반송될 때까지 다른 작업은 다시 시도됩니다.

보안에 주의하세요. 기본적으로 인터넷상의 모든 사람이 시스템에서 프로그램을 실행할 수 있도록 허용하므로 사용자 입력을 신뢰하지 말고 사용하기 전에 삭제하세요.

답변2

Postfix를 많이 사용해 본 지 꽤 시간이 지났지만 IIRC는 일반적으로 상당히 기본적인 MDA와 함께 번들로 제공되지만 이는 여전히 사용자 홈 디렉토리의 .forward 파일을 이해할 수 있으므로 문서와 postfix 구성을 읽어야 합니다. 어떤 MDA가 구성되어 있는지 확인하세요.

모든 MDA(IMHO)의 아버지는 procmail입니다. main.cf에서 현재 MDA를 procmail로 대체할 수 있습니다. - 참조http://www.postfix.org/faq.html#procmail

Procmail은 사용자 홈 디렉터리에 있는 파일을 읽어 메시지 처리 방법을 결정합니다. 이는 단순한 구성 파일을 넘어 프로그래밍 언어와 비슷합니다. 당신이 요구하는 것은 확실히 가능합니다.

씨.

관련 정보