Você basicamente precisa de acesso ao shell no servidor de email para executar o Procmail lá. Se você tem os privilégios necessários, fazer o que você está pedindo é simples, embora seus requisitos não sejam claros.
Suponho que você queira adicionar [groupname]
às mensagens de [email protected]
, se ainda não estiverem presentes.
:0fhw
* ^From: groupname-list@example\.net\>
* ! ^Subject:( Re:)? *\[groupname]
* ^Subject:\/.+
| formail -I "Subject: [groupname]$MATCH"
A bandeira f
diz para modificar o cabeçalho, filtrando o pipeline na ação; o h
significa que a ação se aplica apenas ao cabeçalho (para reduzir a quantidade de dados para copiar sem modificações); e o w
diz para verificar se a ação foi bem sucedida.
O token regex especial \/
faz com que a correspondência depois dela seja capturada na variável especial MATCH
.
Como ponto e colchete esquerdo são metacaracteres de expressão regular, precisamos de uma barra invertida para combiná-los literalmente. O limite de \>
word garante que net
não seja uma correspondência parcial em um endereço mais longo (digamos, [email protected]
), embora não seja totalmente infalível (ele ainda corresponderia a [email protected]
, por exemplo).
De qualquer forma, você precisará substituir a primeira condição por algo que corresponda exatamente a um cabeçalho nas mensagens que você está segmentando. Por exemplo, o aqui não corresponde a From: List Name <[email protected]>
(porque o regex não contém uma expressão para ignorar o texto através do caractere <
).
O resto deve ser trivial para entender, espero.