Isso é possível, embora exija alguns recursos obscuros do Procmail e, é claro, você precisa entender o que está alcançando.
:0
* ^From:[ ]*\/[^ ].*
* $ ^To:[ ]*$\MATCH
{ ... actions ... }
O operador \/
capture coleta a string correspondente na variável especial MATCH
. Na próxima linha, procuramos a mesma string no cabeçalho To:
. Onde $MATCH
contém a string capturada, $\MATCH
contém uma regex em que todos os caracteres especiais da regex na string foram escapados para corresponder literalmente. O modificador $
é necessário na receita para permitir a interpolação de variáveis Procmail na regex.
Isso usa o usual [ ]*
(espaço ou tabulação, zero ou mais) para pular os espaços em branco após os dois pontos, e depois pega tudo a partir do primeiro caractere que não seja espaço em branco.
Na prática, isso significa que os cabeçalhos From:
e To:
precisam ter conteúdos idênticos. Se o remetente colocar um "nome real" diferente (o que tecnicamente é apenas um comentário), essa receita não será compatível. Por exemplo,
From: Myself <[email protected]>
To: Everyone <[email protected]>
Aqui, o terminal de email é idêntico, mas todo o campo é diferente. Se você precisar lidar com esse cenário, talvez mude a regex para corresponder ao primeiro <
antes do \/
, mas isso obviamente dependerá das sequências precisas que você precisa corresponder; existem muitas variações possíveis.