Postfix · 7 min read · Sep 26, 2025
Como Configurar Mensagens de Retorno Personalizadas do Postfix

Desde a versão 2.3 do Postfix, o Postfix suporta mensagens de retorno personalizadas. Este guia mostra como configurar mensagens de retorno personalizadas do Postfix e o tempo máximo de vida da fila.
1 Versão do Postfix
Primeiro, você deve descobrir a versão do seu Postfix para ter certeza de que suporta mensagens de retorno personalizadas:
postconf -d | grep mail_versionserver2:~# postconf -d | grep mail_version
mail_version = 3.4.13
milter_macro_v = $mail_name $mail_version
server2:~#Se o seu Postfix for 2.3 ou mais recente, então você está pronto para começar.
2 Definir maximal_queue_lifetime E delay_warning_time
De http://www.postfix.org/postconf.5.html:
maximal_queue_lifetime: O tempo máximo que uma mensagem fica na fila antes de ser enviada de volta como não entregável.
delay_warning_time: O tempo após o qual o remetente recebe os cabeçalhos da mensagem de e-mail que ainda está na fila.
O comando postconf -n mostra as configurações que estão atualmente configuradas em /etc/postfix/main.cf, enquanto o comando postconf -d mostra as configurações padrão que são válidas, a menos que algo diferente seja definido em /etc/postfix/main.cf.
Para descobrir o valor atual de maximal_queue_lifetime, você pode executar
postconf -d | grep maximal_queue_lifetime
postconf -n | grep maximal_queue_lifetimeSe postconf -n não exibir nada, isso significa que o valor de postconf -d está sendo usado atualmente:
server2:~# postconf -d | grep maximal_queue_lifetime
maximal_queue_lifetime = 5d
server2:~# postconf -n | grep maximal_queue_lifetime
server2:~#O mesmo se aplica a delay_warning_time:
postconf -d | grep delay_warning_time
postconf -n | grep delay_warning_timeserver2:~# postconf -d | grep delay_warning_time
delay_warning_time = 0h
server2:~# postconf -n | grep delay_warning_time
server2:~#Se você quiser modificar essas configurações, pode usar o comando postconf -e. Ele gravará as configurações em /etc/postfix/main.cf, por exemplo, assim:
postconf -e 'maximal_queue_lifetime = 1d'
postconf -e 'delay_warning_time = 0h'Reinicie o Postfix em seguida:
service postfix restartA razão pela qual nos importamos com essas duas configurações é que seus valores podem ser usados nas mensagens de retorno personalizadas.
3 Criar Uma Mensagem de Retorno Personalizada
De http://www.postfix.org/bounce.5.html:
O arquivo de modelo pode especificar modelos para e-mails falhados, e-mails atrasados, entrega bem-sucedida ou para verificação de endereço. Esses modelos são nomeados failure_template, delay_template, success_template e verify_template, respectivamente. Você pode, mas não precisa, especificar todos os quatro modelos em um arquivo de modelo de retorno.
Cada modelo começa com “template_name = <
Agora podemos criar o arquivo /etc/postfix/bounce.cf que contém os modelos assim (estou usando todos os quatro modelos aqui, mas você pode deixar de fora os que não precisa). É absolutamente importante que o arquivo termine com uma linha em branco!
nano /etc/postfix/bounce.cf#
# O modelo de falha é usado quando o e-mail é retornado ao remetente;
# ou o destino rejeitou a mensagem, ou o destino
# não pôde ser alcançado antes que a mensagem expirasse na fila.
#
failure_template = <
Se você fizer isso, inclua este relatório de problemas. Você pode
deletar seu próprio texto da mensagem retornada anexada.
O sistema de e-mail
EOF
#
# O modelo de atraso é usado quando o e-mail está atrasado. Note um truque legal:
# o modelo padrão exibe o valor de delay_warning_time como horas
# anexando o sufixo _hours ao nome do parâmetro; ele exibe
# o valor de maximal_queue_lifetime como dias anexando o sufixo _days.
#
# Outros sufixos são: _seconds, _minutes, _weeks. Não há outros
# parâmetros main.cf que tenham esse comportamento especial.
#
# Você precisa ajustar esses sufixos (e o texto ao redor) se
# você tiver configurações muito diferentes para esses parâmetros de tempo.
#
delay_template = <
Se você fizer isso, inclua este relatório de problemas. Você pode
deletar seu próprio texto da mensagem retornada anexada.
O sistema de e-mail
EOF
#
# O modelo de sucesso é usado quando o e-mail é entregue na caixa de entrada,
# quando um alias ou lista é expandido, ou quando o e-mail é entregue a um
# sistema que não anuncia suporte a DSN. É um erro especificar
# um Postmaster-Subject: aqui.
#
success_template = < Você pode personalizar as mensagens ao seu gosto. Nas mensagens, você pode usar todas as variáveis do main.cf (por exemplo, $myhostname). Se você olhar para o delay_template, verá que uso as variáveis adicionais $delay_warning_time_hours e $maximal_queue_lifetime_days. Você também poderia usar $delay_warning_time_seconds, $delay_warning_time_minutes, $delay_warning_time_days, $delay_warning_time_weeks e $maximal_queue_lifetime_seconds, $maximal_queue_lifetime_minutes, $maximal_queue_lifetime_hours, $maximal_queue_lifetime_weeks, mas tenha em mente o que http://www.postfix.org/bounce.5.html explica sobre essas variáveis:
delay_warning_time_suffix: Expande-se no valor do parâmetro delay_warning_time, expresso na unidade de tempo especificada por um sufixo, que é um dos segundos, minutos, horas, dias ou semanas.
maximal_queue_lifetime_suffix: Expande-se no valor do parâmetro maximal_queue_lifetime, expresso na unidade de tempo especificada pelo sufixo. Veja acima sob delay_warning_time para possíveis valores de sufixo.
Então, se você usar a variável $delay_warning_time_minutes em vez de $delay_warning_time_hours em seu modelo, deve segui-la pela palavra “minutos” em vez de “horas”.
Em seguida, configuramos o Postfix para usar os modelos personalizados:
postconf -e 'bounce_template_file = /etc/postfix/bounce.cf'Para verificar como os modelos ficam quando todas as variáveis são substituídas por seus valores reais, e para garantir que não há erros em seus modelos (por exemplo, uma nova linha faltando no final de /etc/postfix/bounce.cf), execute:
postconf -b /etc/postfix/bounce.cfserver2:~# postconf -b /etc/postfix/bounce.cf
expanded_failure_text = <
Se você fizer isso, inclua este relatório de problemas. Você pode
deletar seu próprio texto da mensagem retornada anexada.
O sistema de e-mail
EOF
expanded_delay_text = <
Se você fizer isso, inclua este relatório de problemas. Você pode
deletar seu próprio texto da mensagem retornada anexada.
O sistema de e-mail
EOF
expanded_success_text = < Se nenhum erro for exibido, podemos reiniciar o Postfix para que ele possa usar os modelos personalizados:
service postfix restart4 Links
- Página do manual de retorno do Postfix: http://www.postfix.org/bounce.5.html
- Parâmetros de configuração do Postfix: http://www.postfix.org/postconf.5.html
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.