Estou usando o NetCore Cloud como provedor de e-mail, mas não consigo habilitar o recebimento de e-mails ou responder a e-mails. Alguma ideia de como posso fazer isso usando o NeCore Cloud Email?
Estou trabalhando com @Abdelrahman_MoHamed nisso - o que acreditamos ser nosso principal problema/bloqueio é que estamos tentando configurar o netcore para enviar e-mail de resposta (entrada) para o Discourse para processamento.
O que não conseguimos descobrir é como obter esses dados (o e-mail de entrada analisado) no Discourse para processamento, onde está a tela de configuração que estamos olhando no netcore:
Acreditamos que gostaríamos de inserir uma URL semelhante a esta:
https://forum.mamapedia.com/admin/email/handle_mail
No entanto, estamos confusos, pois quando olhamos a configuração dos webhooks, parece que são requisições POST…
Além disso, estamos assumindo que devemos usar webhooks para atingir nosso objetivo.
Olá Comunidade Discourse,
Estou trabalhando na configuração da funcionalidade de Responder por E-mail para minha instância do Discourse e preciso de alguns esclarecimentos e orientações.
Minha Configuração Atual
- Estou usando o Netcore como meu provedor de e-mail.
- Para e-mails de entrada, configurei uma regra no Netcore para capturar todos os e-mails que correspondem ao formato: reply+*@mydiscourse.com.
- O Netcore suporta o encaminhamento desses e-mails para:
- Outro endereço de e-mail
- Um webhook
O Que Tentei
Tentei encaminhar esses e-mails para o seguinte endpoint do Discourse:
https://mydiscourse.com/admin/email/handle_mail
Infelizmente, isso resultou em um status 404 Not Found.
Minhas Perguntas
- Quem lida com os e-mails de entrada nesta configuração? Eles devem ser processados diretamente pelo Discourse, ou o provedor de e-mail precisa encaminhá-los em um formato específico para que o Discourse os processe?
- Notei uma opção chamada Recebimento Direto de E-mail usando mail-receiver. Seria essa uma abordagem melhor para minha configuração?
Quero garantir que os e-mails de entrada sejam processados corretamente para habilitar a funcionalidade de Responder por E-mail. Você poderia me orientar sobre a maneira correta de configurar isso com o Netcore, ou me indicar a documentação relevante?
Agradeço antecipadamente pelo seu apoio!
Um ponto aqui, netcore é o que era anteriormente conhecido como ‘pepipost’ - então, se isso soar familiar para alguém, talvez possa nos ajudar a apontar na direção certa.
Obrigado antecipadamente!
A maneira mais fácil é Configurar e-mail de entrada de entrega direta para sites auto-hospedados com Mail-Receiver
Tenho certeza de que o endpoint que você está usando é para lidar com devoluções, mas posso estar errado.
Obrigado pela sua resposta. Com essa configuração, teremos um endpoint que podemos usar no provedor de e-mail para publicar os dados nele?
@pfaffman muito útil, obrigado. Então, deixando de lado o netcore (também conhecido como pepipost), parece que você está dizendo que se quisermos:
- envio de e-mail
- gerenciamento de devoluções
- tratamento de respostas
Independentemente de usarmos mailgun, sengrid, etc. - temos que Configurar e-mail de entrada de entrega direta para sites auto-hospedados com Mail-Receiver - isso está correto? Você diz que é a maneira ‘mais fácil’, então estou curioso, existem outras maneiras?
Agradeço novamente a resposta, estamos bloqueados nisso há alguns dias…
Além disso, publicando para a comunidade em geral aqui, estamos procurando uma confirmação de que Configurar e-mail de entrada de entrega direta para sites auto-hospedados com Mail-Receiver é necessário para o manuseio completo de e-mail em ambientes auto-hospedados.
Se mais alguém puder confirmar que isso é de fato necessário, seria muito útil.
Também é possível configurar uma caixa de correio pop3 que o Discourse irá consultar. O receptor de e-mail é mais fácil e permite o uso de endereços arbitrários para caixas de correio de grupo ou categoria.
Obrigado @pfaffman - novamente muito útil. Então, estamos avançando com o receptor de e-mail, estamos em uma instalação multissite. Assim que terminarmos, assumindo que as coisas corram bem, voltaremos aqui.
Olá @pfaffman, obrigado novamente pela sua ajuda.
Tenho tentado configurar o container do Discourse mail-receiver para o meu fórum, mas encontrei um problema relacionado à rejeição de e-mails ao testar. Aqui estão os detalhes do problema:
-
Domínio do Fórum: test.mamapedia.com (proxy via Cloudflare)
-
Domínio do Mail Receiver: reply.mamapedia.com
-
Detalhes do Erro:
Ao tentar testar o mail receiver usando Telnet, recebo o seguinte erro:telnet reply.mamapedia.com 25 Trying 34.122.3.90... Connected to reply.mamapedia.com. Escape character is '^]'. 220 ESMTP server MAIL FROM: <abdohamoda636@gmail.com> 250 2.1.0 Ok RCPT TO: <test@reply.mamapedia.com> 554 5.7.1 <test@reply.mamapedia.com>: Recipient address rejected: Mail to this address is not accepted. Check the address and try to send again.Logs do Mail Receiver: Os logs do container do mail-receiver mostram a seguinte mensagem de rejeição:
Dec 17 17:19:12 test-discourse-20241125-173103-mail-receiver postfix/smtpd[139]: NOQUEUE: reject: RCPT from 90.3.122.34.bc.googleusercontent.com[34.122.3.90]: 554 5.7.1 <test@reply.mamapedia.com>: Recipient address rejected: Mail to this address is not accepted. Check the address and try to send again?; from=<abdohamoda636@gmail.com> to=<test@reply.mamapedia.com> proto=SMTP Dec 17 17:19:12 test-discourse-20241125-173103-mail-receiver postfix/smtpd[139]: using backwards-compatible default setting smtpd_relay_before_recipient_restrictions=no to reject recipient "test@reply.mamapedia.com" from client "90.3.122.34.bc.googleusercontent.com[34.122.3.90]"Observações:
- A mensagem de erro nos logs indica que o endereço do destinatário “test@reply.mamapedia.com” está sendo rejeitado.
- O problema parece estar relacionado à configuração do postfix ou a algum tipo de restrição que impede que o e-mail seja aceito.
O que Tentei:
- Certifiquei-me de que os registros DNS (MX) para
reply.mamapedia.comestão configurados corretamente. - Verifiquei novamente a configuração do container do mail-receiver e confirmei que o domínio
reply.mamapedia.comestá definido corretamente.
Arquivo de configuração do Mail-Receiver
env: LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 LANGUAGE: en_US.UTF-8 ## Para onde o e-mail para o seu fórum deve ser enviado. Em geral, é perfeitamente aceitável ## usar o mesmo domínio do fórum aqui. MAIL_DOMAIN: reply.mamapedia.com # descomente estas linhas (e o volume abaixo!) para suportar TLS POSTCONF_smtpd_tls_key_file: /letsencrypt/reply.mamapedia.com.key POSTCONF_smtpd_tls_cert_file: /letsencrypt/fullchain.cer POSTCONF_smtpd_tls_security_level: may ## A URL base para esta instância do Discourse. ## Esta será a URL do seu site Discourse. Por exemplo, ## https://test.mamapedia.com. Se você estiver executando uma configuração de subdiretório, ## certifique-se de levá-la em consideração (por exemplo, https://example.com/forum). DISCOURSE_BASE_URL: 'https://test.mamapedia.com' ## A chave API principal do seu fórum Discourse. Você pode obtê-la na ## aba "API" do seu painel de administração. DISCOURSE_API_KEY: '#############' ## O nome de usuário a ser usado para processar e-mails recebidos. A menos que você tenha ## renomeado o usuário `system`, você deve deixar isso como está. DISCOURSE_API_USERNAME: system volumes: - volume: host: /var/discourse/shared/mail-receiver/postfix-spool guest: /var/spool/postfix # descomente para suportar TLS - volume: host: /var/discourse/shared/standalone/letsencrypt guest: /letsencryptRegistros DNS do Cloudflare



Agradeço qualquer ajuda ou insight que você possa fornecer.
Não sei, mas tais erros são sempre um problema de DNS. E sempre que o Cloudflare está envolvido também. Da última vez, há muito tempo, encontrei esse erro de escape, foi um timeout devido a um servidor mal configurado.
Tenho esta mensagem ao tentar enviar uma mensagem via telnet, mas funciona quando respondo a notificações com meus provedores de e-mail normais.
Sugiro que você ative o recurso de responder por e-mail e o teste no mundo real para ver como funciona.
Obrigado, @Canapin , talvez você esteja certo, tentarei responder a qualquer e-mail e verei e espero que funcione.
Postarei as atualizações.
Se ajudar, aqui estão os conteúdos do meu arquivo mail-receiver.yml em funcionamento.
Eu uso Cloudflare SSL, então, como o Cloudflare fornece o TLS, deixei todas as linhas TLS comentadas.
## este é o template do container receptor de e-mails
##
## Após fazer alterações neste arquivo, VOCÊ DEVE reconstruir
## /var/discourse/launcher rebuild mail-receiver
##
## TENHA *MUITO* CUIDADO AO EDITAR!
## ARQUIVOS YAML SÃO SUPER SUPER SENSÍVEIS A ERROS DE ESPAÇAMENTO OU ALINHAMENTO!
## visite http://www.yamllint.com/ para validar este arquivo conforme necessário
base_image: discourse/mail-receiver:release
update_pups: false
expose:
- "25:25" # SMTP
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
## Para onde o e-mail para o seu fórum deve ser enviado. Em geral, é perfeitamente aceitável
## usar o mesmo domínio do fórum aqui.
MAIL_DOMAIN: mydiscourseinstance.com
# descomente estas (e o volume abaixo!) para suportar TLS
# POSTCONF_smtpd_tls_key_file: /letsencrypt/discourse.example.com/discourse.example.com.key
# POSTCONF_smtpd_tls_cert_file: /letsencrypt/discourse.example.com/fullchain.cer
# POSTCONF_smtpd_tls_security_level: may
## A URL base para esta instância do Discourse.
## Esta será a URL do seu site Discourse. Por exemplo,
## https://discourse.example.com. Se você estiver executando uma configuração de subpasta,
## certifique-se de levá-la em conta (ou seja, https://example.com/forum).
DISCOURSE_BASE_URL: 'https://mydiscourseinstance.com'
## A chave API principal do seu fórum Discourse. Você pode obtê-la na
## aba "API" do seu painel de administração.
DISCOURSE_API_KEY: xxxxxxxxxxxxxxxx
## O nome de usuário a ser usado para processar e-mails recebidos. A menos que você tenha
## renomeado o usuário `system`, você deve deixar como está.
DISCOURSE_API_USERNAME: system
volumes:
- volume:
host: /var/discourse/shared/mail-receiver/postfix-spool
guest: /var/spool/postfix
# descomente para suportar TLS
# - volume:
# host: /var/discourse/shared/standalone/letsencrypt
# guest: /letsencrypt
Obrigado a todos por suas valiosas sugestões e apoio! @pfaffman, @Jagster, @Canapin e @denvergeeks — Agradeço a ajuda de vocês. Queria atualizá-los que está funcionando agora! Removi todas as minhas configurações antigas, atualizei o Docker para a versão mais recente e garanti que o registro MX necessário foi adicionado corretamente. O Telnet ainda não funciona, mas agora consigo receber respostas com sucesso. Obrigado novamente por me guiarem nisso!
Fico feliz que tenha funcionado no final. - Estou curioso sobre o que na configuração do postfix rejeita e-mails do telnet (eles poderiam ser rejeitados por muitos motivos, mas o motivo dado parece incorreto).
Certo. Ele aceita apenas e-mails que o Discourse aceitará.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

