Se sua configuração permitir, o Sendmail (e presumivelmente também o programa sendmail
de ssmtp
) permitirá que você substitua o remetente do envelope por -f
.
Aqui está um truque rápido em fazer isso a partir do Procmail.
:0
* ^Return-Path:[ ]*\/[^ ].+
! -f "$MATCH" [email protected]
O espaço em branco dentro dos colchetes deve ser um espaço e uma tabulação, em qualquer ordem. (Copiar / colar de cima pode não funcionar corretamente no seu navegador).
O token \/
especial faz com que o Procmail capture o texto correspondente por trás dele após o token na variável MATCH
. Usamos isso para copiar o valor do cabeçalho Return-Path:
e passar isso como o argumento para a opção -f
.
Isso pressupõe que o remetente do envelope original seja anotado corretamente no cabeçalho Return-Path:; os MTAs modernos devem fazer isso de forma generalizada, mas se o seu upstream for a Microsoft, surpresas desagradáveis devem ser esperadas.
Você também precisa entender o propósito do remetente do envelope. Isso fará com que qualquer rejeição seja enviada ao remetente original, por exemplo. A solução correta para esse problema é transportar as mensagens para o destino final, em vez de reenviá-las.
... ou configure o Gmail para exibir um "remetente" diferente do padrão e responda a ele.
(eu imagino você está perguntando sobre o remetente do envelope, já que os cabeçalhos remetentes da mensagem encaminhada devem ser geralmente preservados quando você encaminha uma mensagem, embora alguns MTAs também adicionem um cabeçalho Sender:
quando o valor do cabeçalho From:
ou o remetente do envelope foi substituído. Talvez atualize sua pergunta para indicar quais cabeçalhos exatamente acabam com o valor errado, se não for o caso.)