Configurando o tratamento de rejeições
O Discourse usa a técnica Variable envelope return path (VERP) para tratar e-mails devolvidos (bounces).
Para ativar o VERP, defina a configuração do site “endereço de e-mail de resposta” com um modelo de endereço de e-mail que use o sinal +. O padrão
replies+%{reply_key}@discourse.example.com
… funciona bem. Se você estiver usando seu próprio servidor de e-mail ou o da sua empresa, é só isso ![]()
Sua instância do Discourse deve ser capaz de receber e-mails enviados para este endereço. Isso deve funcionar via POP, mas nós recomendamos fortemente a Entrega direta de e-mail de entrada para sites auto-hospedados
Se, no entanto, você estiver usando um serviço de e-mail de terceiros, você precisará habilitar o VERP ou ativar os webhooks deles da seguinte forma:
MailGun
- Faça login no MailGun e vá para seu painel; procure na coluna da esquerda pela página Sending → Webhooks.
- Selecione a aba Configuration e copie a HTTP signing key
- No seu site Discourse, defina a configuração do site Mailgun API key com sua HTTP signing key
- De volta ao Mailgun, clique no botão Add webhook (selecionando Domain-level) e defina a HTTP post URL como
https://your.discourse/webhooks/mailgun. Teste isto. - Selecione
Permanent FailureeTemporary failure, verifique o Domínio e então Crie o Webhook.
SendGrid
- Faça login no SendGrid e vá para Mail Settings
- expanda a configuração Event Webhook e habilite-a se ainda não estiver
- clique em edit para definir a HTTP POST URL como
http://your.discourse/webhooks/sendgrid - certifique-se de ter selecionado as seguintes 3 ações:
Dropped,DeferredeBounced - salve suas alterações clicando no

MailJet
- Faça login no MailJet e vá para event tracking
- marque o evento bounce
- defina a endpoint URL como
http://your.discourse/webhooks/mailjet - marque o
na coluna group events - clique no botão save
SparkPost
- Faça login no SparkPost e vá para seu painel.
- Selecione Account nos ícones do menu esquerdo
- Selecione Webhooks no menu ( SparkPost )
- Selecione New Webhook.
- Insira um valor amigável para Webhook Name, por exemplo,
Discourse Forum - Insira uma Target URL como
http://your.discourse/webhooks/sparkpost - Selecione Add Webhook.
Amazon Simple Email Service (AWS SES)
- No Discourse:
- defina
reply by email enabledereply by email addressconforme o topo da OP - defina
manual polling enabled
- defina
- Na AWS:
- crie um Tópico SNS
- crie uma Assinatura SNS para o Tópico criado como HTTPS apontando para
https://your.discourse/webhooks/aws - vá para SES > Verified Identities, selecione o domínio do seu site e vá para a aba Notifications. Edite suas Notificações de Feedback. Defina o feedback de Bounce e o feedback de Complaint para o Tópico SNS que você acabou de criar
Postmark
- Faça login no Postmark e selecione o servidor usado para enviar e-mails do Discourse
- Selecione o fluxo de mensagens associado aos e-mails do Discourse, tipicamente Default Transactional Stream
- Clique em Webhooks
- Clique em Add webhook
- Insira a Webhook URL como
http://your.discourse/webhooks/postmark - Em, Quais eventos devemos enviar?, marque Delivery e Spam complaint
- Role para baixo e clique em Save webhook
Testando Rejeições
Para garantir que tudo está funcionando, faça o seguinte:
- Cadastre-se para uma nova conta no seu site com um e-mail obviamente incorreto, no formato
bademail@obviously-invalid-domain.comouclearly.nobody.has.this.email.address@gmail.com - Espere um tempo para que os e-mails sejam totalmente devolvidos (verifique os logs do seu provedor, se desejar – eles geralmente serão mostrados sob o nível de log “warn” ou “error”)
- Verifique
/admin/email/bouncedno seu site para confirmar que a rejeição foi capturada. Lembre-se que isso pode levar até 48 horas dependendo de quantas tentativas e da lógica particular do seu provedor de e-mail.
Configurando Rejeições
O tratamento de rejeições pode ser personalizado usando estas configurações do site
- soft bounce score: pontos adicionados à “pontuação de rejeição” do usuário quando recebemos uma rejeição temporária do endereço de e-mail dele
- hard bounce score: pontos adicionados à “pontuação de rejeição” do usuário quando recebemos uma rejeição permanente (ou desconhecida) do endereço de e-mail dele
- reset bounce score after days: número de dias durante os quais não devemos receber nenhuma rejeição antes que possamos redefinir a “pontuação de rejeição” do usuário de volta para 0
- bounce score threshold: limite de pontuação no qual pararemos de enviar e-mails não urgentes para o usuário
Última Revisão por @SaraDev em 2022-07-19T20:00:00Z