Estou enviando email de um script usando mailx. O script é executado diariamente pelo systemd, usando arquivos .service e .timer. Para fins de teste, estou enviando pela linha de comando.
O e-mail é enviado com o comando
echo "Test message - you know the drill" | mailx -r "[email protected]" -s "Test Message" [email protected]
(dados pessoais substituídos para privacidade)
Isso funciona. Ele é retransmitido pelo postfix para o meu servidor gateway (também postfix), que assina a mensagem de saída. Isso é então entregue ao GMail, que verifica os dados SPF e a assinatura DKIM, e a mensagem é entregue na minha caixa de entrada.
Isso é bom, exceto que é exibido comoUbuntu <[email protected]>
Tenho outros servidores enviando e-mails pelo mesmo método e todos são exibidos de forma semelhante.
Gostaria de alterar o nome de exibição para algo mais útil, por servidor. Por exemplo, Web Server <[email protected]>
mas algo que estou fazendo é bagunçar o From
endereço enquanto ele viaja para o servidor gateway.
eu tentei
echo "Test message - you know the drill" | mailx -r "Web Server [email protected]" -s "Test Message" [email protected]
e
echo "Test message - you know the drill" | mailx -r "Web Server <[email protected]>" -s "Test Message" [email protected]
Mas em ambos os casos o endereço De é de alguma forma perdido pelo PostFix local, e a mensagem enviada ao servidor gateway tem um from
endereço de [email protected]
onde smtp.private.example.uk
está o FQDN do servidor gateway. Isso é enviado para o GMail, mas falha nos testes SPF e DKIM e, como resultado, é despejado sem cerimônia em spam. (Não sei como o postfix local está obtendo o nome do servidor gateway)
Então, como posso adicionar o nome de exibição aos parâmetros que passo para o mailx, de modo que ele sobreviva à jornada de servidor para servidor e seja exibido corretamente pelo GMail?
Mailx versão 3.14 (GNU Mailutils) Ubuntu 22.04
Fiz apenas uma alteração main.cf
no PostFix: adicionei um endereço de host de retransmissão para o servidor gateway.