Em tantas palavras, gpg --decrypt
quer um arquivo, não uma mensagem de e-mail. Uma mensagem de email normalmente consiste em várias partes MIME (seu exemplo mostra um multipart/mixed
com apenas uma parte do corpo, mas o conceito ainda é válido), que não são arquivos. Você precisa passar apenas a carga criptografada, não o contêiner MIME, para gpg
ou encontrar um wrapper ou opção que ajude gpg
analisar o wrapper MIME.
O Quick googling criou um simples wrapper Perl MIME que faz isso:
No caso do link ficar ruim, reinventar a mesma roda novamente não deve ser um desafio significativo; Basicamente, você precisa identificar a parte MIME que contém uma carga criptografada, decodificá-la (provavelmente base64
codificado, a menos que use a "armadura ASCII" de gpg
) e passá-la para gpg
. A existência de uma carga criptografada provavelmente é um bom gatilho, mas talvez o wrapper deva simplesmente passar por qualquer coisa que não contenha uma carga criptografada, e você alimentaria tudo para o wrapper.
Tangencialmente, não há nada que defina $subject
no Procmail ou nas suas regras. Você pode fazer algo assim:
:0
* ^Subject:[ ]\/[^ ].*
{ subject=$MATCH }
... onde o espaço entre os colchetes deve ser um espaço e uma tabulação.