Aktivieren Sie den Empfang und das Beantworten von E-Mails

Ich verwende NetCore Cloud als E-Mail-Anbieter, kann aber den Empfang von E-Mails nicht aktivieren oder auf E-Mails antworten. Haben Sie eine Idee, wie ich dies mit NeCore Cloud Email erreichen kann?

1 „Gefällt mir“

Ich arbeite mit @Abdelrahman_MoHamed daran – wir glauben, dass unser Kernproblem/Blocker darin besteht, dass wir versuchen, netcore so zu konfigurieren, dass E-Mails (eingehende) an Discourse zur Verarbeitung gesendet werden.

Wir können nicht herausfinden, wie wir diese Daten (die eingehende analysierte E-Mail) in Discourse zur Verarbeitung bekommen. Wo ist die Konfigurationsansicht, die wir in Netcore betrachten:

Wir glauben, dass wir eine URL wie diese eingeben möchten:

https://forum.mamapedia.com/admin/email/handle_mail

Wir sind jedoch verwirrt, da es bei der Einrichtung der Webhooks so aussieht, als ob es sich um POST-Anfragen handelt.

Außerdem gehen wir davon aus, dass wir Webhooks verwenden sollten, um unser Ziel zu erreichen.

Hallo Discourse Community,

Ich arbeite an der Konfiguration der „Reply-by-Email“-Funktionalität für meine Discourse-Instanz und benötige einige Klärungen und Anleitungen.

Mein aktuelles Setup

  • Ich verwende Netcore als meinen E-Mail-Anbieter.
  • Für eingehende E-Mails habe ich eine Regel in Netcore konfiguriert, um alle E-Mails zu erfassen, die dem Format entsprechen: reply+*@mydiscourse.com.
  • Netcore unterstützt die Weiterleitung dieser E-Mails an eine der folgenden Optionen:
    1. Eine andere E-Mail-Adresse
    2. Einen Webhook

Was ich versucht habe
Ich habe versucht, diese E-Mails an den folgenden Discourse-Endpunkt weiterzuleiten:
https://mydiscourse.com/admin/email/handle_mail
Leider führte dies zu einem 404 Not Found-Status.

Meine Fragen

  1. Wer verarbeitet die eingehenden E-Mails in dieser Konfiguration? Sollten sie direkt von Discourse verarbeitet werden, oder muss der E-Mail-Anbieter sie in einem bestimmten Format weiterleiten, damit Discourse sie verarbeiten kann?
  2. Mir ist eine Option namens „Direct Email Receiving using mail-receiver“ aufgefallen. Wäre dies ein besserer Ansatz für mein Setup?

Ich möchte sicherstellen, dass die eingehenden E-Mails ordnungsgemäß verarbeitet werden, um die „Reply-by-Email“-Funktionalität zu ermöglichen. Könnten Sie mich bitte anleiten, wie ich dies mit Netcore richtig einrichte, oder mich auf relevante Dokumentationen verweisen?

Vielen Dank im Voraus für Ihre Unterstützung!

1 „Gefällt mir“

Ein Punkt hier: Netcore ist das, was früher als „Pepipost“ bekannt war – wenn das jemandem etwas sagt, kann das vielleicht helfen, uns in die richtige Richtung zu weisen.

Vielen Dank im Voraus!

Der einfachste Weg ist Eingehende E-Mails für selbst gehostete Websites mit Mail-Receiver konfigurieren

Ich bin ziemlich sicher, dass der Endpunkt, den Sie verwenden, für die Bearbeitung von Bounces ist, aber ich könnte mich irren.

Vielen Dank für Ihre Antwort. Mit dieser Einrichtung haben wir einen Endpunkt, den wir im E-Mail-Anbieter verwenden können, um die Daten daran zu veröffentlichen?

@pfaffman sehr hilfreich, danke. Wenn ich also netcore (auch bekannt als pepipost) beiseite lasse, klingt es so, als ob Sie sagen, wenn wir wollen:

  • E-Mail-Versand
  • Bounce-Management
  • Antwortverarbeitung

Unabhängig davon, ob wir Mailgun, Sendgrid usw. verwenden – müssen wir Direct-Delivery-E-Mail-Eingang für selbst gehostete Websites mit Mail-Receiver konfigurieren – ist das richtig? Sie sagen, der „einfachste“ Weg, daher bin ich neugierig, gibt es andere Wege?

Nochmals vielen Dank für die Antwort, wir waren/sind seit ein paar Tagen blockiert…

Außerdem suchen wir hier in der allgemeinen Community nach einer Bestätigung, dass Konfigurieren Sie eingehende E-Mails mit Direktzustellung für selbst gehostete Websites mit Mail-Receiver für die vollständige E-Mail-Verarbeitung in selbst gehosteten Umgebungen erforderlich ist.

Wenn jemand anderes dies bestätigen kann, wäre das sehr hilfreich.

Es ist auch möglich, ein POP3-Postfach zu konfigurieren, das Discourse abfragt. Der Mail-Empfänger ist einfacher und ermöglicht die Verwendung beliebiger Adressen für Gruppen- oder Kategorie-Postfächer.

1 „Gefällt mir“

Vielen Dank @pfaffman - wieder sehr hilfreich. Wir werden also mit dem Mail-Empfänger fortfahren, wir befinden uns in einer Multisite-Installation. Sobald wir fertig sind und davon ausgehen, dass alles gut läuft, werden wir uns hier wieder melden.

Hallo @pfaffman, danke nochmals für deine Hilfe.

Ich habe versucht, den Discourse Mail-Receiver-Container für mein Forum einzurichten, bin aber auf ein Problem mit der E-Mail-Ablehnung beim Testen gestoßen. Hier sind die Details des Problems:

  • Foren-Domain: test.mamapedia.com (über Cloudflare weitergeleitet)

  • Mail-Receiver-Domain: reply.mamapedia.com

  • Fehlerdetails:
    Beim Testen des Mail-Receivers mit Telnet erhalte ich folgende Fehlermeldung:

    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.
    

    Mail-Receiver-Protokolle: Die Protokolle des Mail-Receiver-Containers zeigen folgende Ablehnungsnachricht:

    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]"
    

    Beobachtungen:

    • Die Fehlermeldung in den Protokollen zeigt an, dass die Empfängeradresse “test@reply.mamapedia.com” abgelehnt wird.
    • Das Problem scheint mit der Postfix-Konfiguration oder einer Art Einschränkung zusammenzuhängen, die die Annahme der E-Mail verhindert.

    Was ich versucht habe:

    1. Sichergestellt, dass die DNS-Einträge (MX) für reply.mamapedia.com korrekt eingerichtet sind.
    2. Die Konfiguration des Mail-Receiver-Containers doppelt überprüft und bestätigt, dass die Domain reply.mamapedia.com richtig eingestellt ist.

    Mail-Receiver-Konfigurationsdatei

    env:
      LC_ALL: en_US.UTF-8
      LANG: en_US.UTF-8
      LANGUAGE: en_US.UTF-8
    
      ## Wohin E-Mails an Ihr Forum gesendet werden sollen. Im Allgemeinen ist es vollkommen in Ordnung,
      ## hier dieselbe Domain wie das Forum selbst zu verwenden.
      MAIL_DOMAIN: reply.mamapedia.com
    # diese (und das Volume darunter!) auskommentieren, um TLS zu unterstützen
      POSTCONF_smtpd_tls_key_file:  /letsencrypt/reply.mamapedia.com.key
      POSTCONF_smtpd_tls_cert_file:  /letsencrypt/fullchain.cer
      POSTCONF_smtpd_tls_security_level: may
    
    
      ## Die Basis-URL für diese Discourse-Instanz.
      ## Dies wird die URL Ihrer Discourse-Site sein. Zum Beispiel:
      ## https://test.mamapedia.com. Wenn Sie eine Unterordner-Einrichtung verwenden,
      ## stellen Sie sicher, dass Sie dies berücksichtigen (z. B. https://example.com/forum).
      DISCOURSE_BASE_URL: 'https://test.mamapedia.com'
    
      ## Der Master-API-Schlüssel Ihres Discourse-Forums. Sie können diesen aus
      ## dem Tab "API" in Ihrem Admin-Panel abrufen.
      DISCOURSE_API_KEY:  '#############'
    
      ## Der Benutzername, der für die Verarbeitung eingehender E-Mails verwendet wird. Sofern Sie
      ## den Benutzer `system` nicht umbenannt haben, sollten Sie dies so belassen.
      DISCOURSE_API_USERNAME: system
    
    volumes:
      - volume:
          host: /var/discourse/shared/mail-receiver/postfix-spool
          guest: /var/spool/postfix
    # zum Unterstützen von TLS auskommentieren
      - volume:
          host: /var/discourse/shared/standalone/letsencrypt
          guest: /letsencrypt
    

    Cloudflare DNS-Einträge

    image

    image

    Das Bild zeigt eine Webseite mit einem Feld namens "A", einem Feld zur Texteingabe, einer IP-Adresse, einem Wolkensymbol, das "Proxied" anzeigt, und einer Schaltfläche "Auto" mit einer Schaltfläche "Edit" auf der rechten Seite. (Beschriftet von KI)

    Ich freue mich über jede Hilfe oder Einblicke, die Sie geben können.

1 „Gefällt mir“

Ich weiß es nicht, aber solche Fehler sind immer ein DNS-Problem. Und jedes Mal, wenn Cloudflare beteiligt ist. Letztes Mal, vor ziemlich langer Zeit, als ich diesen Escape-Fehler hatte, war es ein Timeout wegen eines schlecht konfigurierten Servers.

2 „Gefällt mir“

Ich erhalte diese Nachricht, wenn ich versuche, eine Nachricht über Telnet zu senden, aber sie funktioniert, wenn ich auf Benachrichtigungen mit meinen regulären E-Mail-Anbietern antworte.

Ich schlage vor, Sie aktivieren die Antwort-per-E-Mail-Funktion und probieren sie in der realen Welt aus, um zu sehen, wie sie funktioniert.

3 „Gefällt mir“

Danke, @Canapin, vielleicht hast du recht, ich werde versuchen, auf jede E-Mail zu antworten und sehen, und hoffe, dass es funktioniert.

Ich werde die Updates posten.

1 „Gefällt mir“

Falls es hilft, hier sind die Inhalte meiner funktionierenden mail-receiver.yml-Datei.

Ich verwende Cloudflare SSL, daher habe ich alle TLS-Zeilen auskommentiert gelassen, da Cloudflare die TLS-Verschlüsselung bereitstellt.


## dies ist die Vorlage für den eingehenden Mail-Receiver-Container
##
## Nach Änderungen an dieser Datei MÜSSEN Sie
## /var/discourse/launcher rebuild mail-receiver
## neu erstellen
##
## SEIEN SIE *SEHR* VORSICHTIG BEIM BEARBEITEN!
## YAML-DATEIEN SIND EXTREM EMPFINDLICH GEGENÜBER FEHLERN BEI LEERZEICHEN ODER AUSRICHTUNG!
## Besuchen Sie http://www.yamllint.com/, um diese Datei nach Bedarf zu validieren.

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

  ## Wohin E-Mails an Ihr Forum gesendet werden sollen. Im Allgemeinen ist es völlig in Ordnung,
  ## hier dieselbe Domain wie das Forum selbst zu verwenden.
  MAIL_DOMAIN: mydiscourseinstance.com
# diese (und das unten stehende Volume!) auskommentieren, um TLS zu unterstützen
#  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


  ## Die Basis-URL für diese Discourse-Instanz.
  ## Dies wird die URL Ihrer Discourse-Site sein. Zum Beispiel,
  ## https://discourse.example.com. Wenn Sie eine Unterordner-Einrichtung betreiben,
  ## stellen Sie sicher, dass Sie dies berücksichtigen (z. B. https://example.com/forum).
  DISCOURSE_BASE_URL: 'https://mydiscourseinstance.com'

  ## Der Master-API-Schlüssel Ihres Discourse-Forums. Sie können diesen aus
  ## dem Reiter "API" Ihres Admin-Panels abrufen.
  DISCOURSE_API_KEY: xxxxxxxxxxxxxxxx

  ## Der Benutzername, der für die Verarbeitung eingehender E-Mails verwendet wird. Sofern Sie
  ## den Benutzer `system` nicht umbenannt haben, sollten Sie dies so belassen.
  DISCOURSE_API_USERNAME: system

volumes:
  - volume:
      host: /var/discourse/shared/mail-receiver/postfix-spool
      guest: /var/spool/postfix
# zum Unterstützen von TLS auskommentieren
#  - volume:
#      host: /var/discourse/shared/standalone/letsencrypt
#      guest: /letsencrypt

Vielen Dank für all Ihre wertvollen Vorschläge und Ihre Unterstützung! @pfaffman, @Jagster, @Canapin und @denvergeeks – ich weiß Ihre Hilfe zu schätzen. Ich wollte Sie darüber informieren, dass es jetzt funktioniert! Ich habe alle meine alten Konfigurationen entfernt, Docker auf die neueste Version aktualisiert und sichergestellt, dass der erforderliche MX-Eintrag korrekt hinzugefügt wurde. Telnet funktioniert immer noch nicht, aber ich kann jetzt erfolgreich Antworten empfangen. Nochmals vielen Dank, dass Sie mich durch diesen Prozess geführt haben!

2 „Gefällt mir“

Ich bin froh, dass es am Ende funktioniert. Ich bin neugierig, was in der Postfix-Konfiguration E-Mails per Telnet ablehnt (sie könnten aus vielen Gründen abgelehnt werden, aber der angegebene Grund scheint falsch zu sein).

Richtig. Es akzeptiert nur E-Mails, die Discourse akzeptiert.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.