procmail을 사용하여 들어오는 pgp 메일 해독

procmail을 사용하여 들어오는 pgp 메일 해독

현재 나는 procmail을 통해 들어오는 메일을 배달하는 Postfix 서버를 실행하고 있습니다. 잘 작동하지만 이제 pgp로 자동으로 암호화된 수신 메일의 암호를 해독하고 싶습니다. 그래서 나는 gnupg를 실행하는 procmail 규칙을 만들었습니다.

이것은 내 현재 .procmailrc입니다.

:0 fw
* ^Subject: encryptme
| /usr/bin/gpg --decrypt | mail -s "ENCRYPTED: $subject" [email protected]

이제 메일이 성공적으로 해독되어 다음 주소로 전송되었습니다.[이메일 보호됨]하지만 제목은 비어 있고(메일에는 "ENCRYPTED: "만 표시됨) 서버의 이메일 주소가 보낸 사람으로 되어 있습니다. 물론 해독된 메일에는 이메일 헤더의 일부가 포함되어 있습니다.

Content-Type: multipart/mixed; boundary="713bkotRlnRGA7FAhJANoI0IsDpX3ws8N"

--713bkotRlnRGA7FAhJANoI0IsDpX3ws8N
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable

Just a test.

--713bkotRlnRGA7FAhJANoI0IsDpX3ws8N--

GNU Anubis와 같은 추가 소프트웨어 없이 수신 메일을 자동으로 해독하고 "해독된 메시지만 정리"할 수 있는 가능성이 있습니까? 그리고 procmail이 프로그램(주제 대신)을 트리거하는 좋은 규칙은 무엇입니까?

이 정보가 누군가가 나를 도울 수 있기를 바랍니다.

답변1

간단히 말해서 gpg --decrypt이메일 메시지가 아닌 파일을 원합니다. 이메일 메시지는 일반적으로 multipart/mixed파일이 아닌 여러 MIME 부분으로 구성됩니다(예에서는 본문 부분이 하나만 있지만 개념은 여전히 ​​유지됨). MIME 컨테이너가 아닌 암호화된 페이로드만 에 전달 하거나 MIME 래퍼를 구문 분석하는 데 gpg도움이 되는 래퍼 또는 옵션을 찾아야 합니다.gpg

빠른 인터넷 검색을 통해 다음과 같은 간단한 Perl MIME 래퍼가 나타났습니다.

링크가 손상된 경우 동일한 바퀴를 다시 만드는 것은 큰 도전이 되어서는 안 됩니다. 기본적으로 암호화된 페이로드가 포함된 MIME 부분을 식별하고 이를 디코딩한 다음( 자신의 "ASCII 갑옷"을 base64사용하지 않는 한 인코딩되었을 수 있음) 에 전달해야 합니다 . 암호화된 페이로드의 존재는 아마도 좋은 트리거일 수 있지만 아마도 래퍼는 암호화된 페이로드를 포함하지 않는 모든 항목을 통과해야 하며 모든 것을 래퍼에 공급할 것입니다.gpggpg

$subject접하게 말하면 Procmail이나 규칙에 정의된 내용은 없습니다 . 다음과 같이 할 수 있습니다:

:0
* ^Subject:[    ]\/[^   ].*
{ subject=$MATCH }

... 여기서 대괄호 사이의 공백은 공백과 탭이어야 합니다.

관련 정보