I’m a big fan of Postmarkapp.com
We use their bounce API to create tickets when emails need attention.
What would it take to expand Discourse’s Bounce Processing to support Postmark?
See:
I’m a big fan of Postmarkapp.com
We use their bounce API to create tickets when emails need attention.
What would it take to expand Discourse’s Bounce Processing to support Postmark?
See:
We only support adding these sorts of things for mail services that have a free tier. Otherwise it doesn’t benefit enough people.
And for our hosted customers, we handle all email, so there’s no reason to do it for our customers.
Also, we haven’t used any “Bounce API” but rather “Bounce Webhooks” which is documented here
Você consideraria um PR para suporte a webhook de bounce do Postmark agora? O Mailgun, um dos provedores de bounce oficialmente suportados, acabou de remover seu plano gratuito. Tenho a impressão de que os planos gratuitos estão geralmente desaparecendo neste setor: Tell HN: Mailgun lowers free-tier API from 10k to 625 emails per month | Hacker News
Uma PR certamente seria considerada. Por favor, comunique-se com antecedência se este provedor diferir muito dos atualmente suportados, para que possamos oferecer feedback sobre a possibilidade de mesclagem da sua abordagem.
Tenho isso que estou prestes a submeter como um PR.
Usando o comando curl de teste que eles documentam aqui na minha instância de desenvolvimento, parece que vai funcionar.
Incluí testes spec tanto para bounces duros quanto para bounces suaves.
EDIT: Agora fiz testes acionando pela interface de teste de webhook deles e parece que realmente funciona.
Acho que isso deve estar OK: add postmark webhook handling by pfaffman · Pull Request #8919 · discourse/discourse · GitHub
Está mesclado! Obrigado!
@wesochuck sugere as seguintes alterações nos tipos de bounce (veja Bounce API | Postmark Developer Documentation para definições dos tipos de bounce, embora eu as tenha incluído abaixo).
Adicionar a hard_bounces:
BadEmailAddress – “Endereço de e-mail inválido — O endereço não é um endereço de e-mail válido.”Blocked " Bloqueio do ISP — Bloqueado por este ISP devido ao conteúdo ou listagem negra."Adicionar a Soft bounces:
SMTPApiError – " Erro da API SMTP — Ocorreu um erro ao aceitar um e-mail através da API SMTP."DMARCPolicy – “Política DMARC — E-mail rejeitado devido à Política DMARC.”Acho que blocked faz sentido, mas não tenho certeza sobre o restante. Deixe-me saber o que você acha e farei o PR de acordo.
Desculpe, mas meu PR não funciona.
Primeiro, o Postmark descarta o message-id por padrão.
Segundo, o MessageID que o Postmark inclui no webhook não é o Message-ID que está na mensagem.
De: Everything you need to know about SMTP (Simple Mail Transfer Protocol) | Postmark
Existe uma maneira fácil de adicionar um cabeçalho X-PM-KeepID: true no e-mail de saída? Poderia isso ser adicionado ao núcleo?
Se esse problema for resolvido, então verei se há uma maneira de incluir o Message-ID real no payload do webhook e processá-lo adequadamente.