Eu acho que você pode tentar algo como:
/etc/postfix/main.cf
header_checks = pcre:/etc/postfix/header_checks.pcre
/etc/postfix/header_checks.pcre
/^Received: by(.*) \(Postfix, from userid(.*)$/ REPLACE Received: by ${1}
Ao enviar e-mails através do PHP mail () - o Postfix adiciona o seguinte cabeçalho:
Received: by myhost.mydomain.com (Postfix, from userid 48)
id XXXXXXXXXXX; Sun, 20 Nov 2011 21:22:13 +0100 (CET)
Existe uma maneira de remover a parte do ID do usuário, mas manter o restante? Então o resultado se torna (se correto):
Received: by myhost.mydomain.com (Postfix)
id XXXXXXXXXXX; Sun, 20 Nov 2011 21:22:13 +0100 (CET)
O postfix está rodando em localhost e é usado apenas para enviar e-mails do PHP através da função mail ().
Uma pergunta semelhante sobre a remoção de todo o cabeçalho foi foi perguntado antes, mas não consigo descobrir como remover a parte do ID do usuário, mas manter o resto.
Você não deve editar as linhas recebidas em nenhum caso.
Principalmente, eles são requeridos pela RFC 5321 e não podem manipular. Em segundo lugar, eles são uma fonte valiosa para rastrear o abuso.
Suponha que você só envie e-mails com o PHP via Apache (ID do usuário 48), o que ele diz se você vir mensagens vindas do userid 5000? Você está certo: um usuário ou script mal-intencionado está ficando louco. Você consegue rastrear este problema com o userid removido?
Agora você pode alterar apenas a primeira linha. Minha solução é com regexp
/etc/postfix/main.cf
header_checks = regexp:/etc/postfix/header_checks
/ etc / postfix / header_checks
/^Received: by (.*) .*Postfix, from userid [0-9]+\)\s*id ([A-F[:digit:]]+)(.*) (.*)/ REPLACE Received: by $1 (some text) id $2$3 (EEST)
Você pode verificar rezult ( link )
ou
postmap -q "Received: by mail.xxxx.lt (Postfix, from userid 48) id 5F7CD1E148A Thu, 23 Oct 2014 15:55:08 +0300 (EEST)" regexp:/etc/postfix/header_checks
Tags postfix