Qual variável de domínio virtual do Postfix devo usar na criação do cabeçalho de saída?
servidor atual
Estou executando um servidor de domínio virtual orientado a banco de dados gerenciado por PostfixAdmin . Quero colocar declarações no cabeçalho de todos os e-mails enviados usando o sistema Postfix , não usando o aplicativo ou cliente da web responsável.
Precisamos produzir...
A questão não é sobre um List-Unsubscribe
cabeçalho, que já sabemos que deve ser...
no cabeçalho do e-mail :
List-Unsubscribe: mailto:[email protected]
Como produzimos...
Já o sabemos conseguir com uma linha à medida dos cheques emitidos /etc/postfix/smtp_header_checks
. Então, se tivermos essa linha...
main.cf :
smtp_header_checks = regexp:/etc/postfix/smtp_header_checks
(ou alguma outra configuração como some_setting = regexp:/etc/postfix/some_setting
?)
Então, precisamos em...
/etc/postfix/smtp_header_checks :
/^Content-Type:/i PREPEND List-Unsubscribe: mailto:[email protected]
Mas isso só funciona para um domínio específico somedomain.tld
; Preciso de uma variável que dependa do domínio de envio.
Não há mydomain =
configurações em nenhum lugar main.cf
ou em nenhum outro /etc/postfix/
arquivo; todos os domínios são gerenciados pelos mapas de domínio virtual gerenciados pelo MySQL.
Portanto, esta questão é sobre as variáveis vmail de qualquer criação de cabeçalho de envio , não apenas List-Unsubscribe:
, desde que funcione na criação List-Unsubscribe:
do Postfix.
( Os documentos do Postfix não são claros sobre as variáveis vmail utilizáveis nos cabeçalhos.)
Código com variável de domínio
Esta é a minha melhor solução: $mydomain
.
/etc/postfix/smtp_header_checks :
/^Content-Type:/i PREPEND List-Unsubscribe: mailto:unsubscribe@$mydomain
Ao enviar de um domínio virtual, $mydomain
a maneira correta de passar esse domínio para o cabeçalho ou outra criação de conteúdo de e-mail enviada pelo Postfix?
(Usar o Postfix para isso é importante para que todos os e-mails tenham isso, mesmo aqueles enviados da CLI simples ou por aplicativos da web de terceiros usando PHP via MSMTP , etc. Já sabemos como adicioná-lo via servidor lang header.)
Postfix
não fornece uma variável interna que corresponda diretamente ao domínio do remetente emsmtp_header_checks
, mas podemos usar argumentos regexheader_checks
combinados comsmtp_header_checks
para fazer a mesma coisa.Primeiro, usamos esse cabeçalho personalizado em
/etc/postfix/header_checks : adicione isto
Em seguida, anexe o
List-Unsubscribe
cabeçalho usando o costumeX-Sender-Domain
em/etc/postfix/smtp_header_checks : temos
Então certifique-se em
main.cf : temos
Em seguida, recarregamos e deve funcionar.
$
sudo postfix reload