Einführung in die Entwicklung des Versands von Benachrichtigungs-E-Mails mit Gmail

Hallo,

ich bin neu in Ruby und Docker, habe aber ansonsten einige Entwicklungserfahrung. Ich habe eine laufende Entwicklungs-Discourse-Instanz sowie eine Produktionsinstanz, sodass die Abhängigkeiten erfüllt zu sein scheinen. Ich möchte die OAuth 2.0-Funktionalität zu no-reply@discourse.example.com hinzufügen, damit ich die Benachrichtigungen über einen Google Workspace-Benutzer senden kann.

Ich bitte Sie freundlich um Ihre Hilfe bei Folgendem:

  • Wie erstelle ich das Docker-Image aus dem Discourse-Git-Repository?
  • Welcher Teil des Codes enthält die SMTP-Authentifizierung des No-Reply und das Senden der Benachrichtigungen?

Wenn es gut läuft, möchte ich es im Skript ./discourse-setup auswählbar machen, sodass der Webmaster die meisten E-Mail-Anbieter und OAuth 2.0 für den Fall, dass der E-Mail-Anbieter Google ist, angeben kann. Falls Sie es nützlich finden, kann ich das Ergebnis zur Überprüfung senden.

Mit freundlichen Grüßen

Du solltest das wahrscheinlich von hier lesen:

Erwäge dringend die Verwendung der Standardinstallation

Vielen Dank für Ihre schnelle Antwort. Ich würde das Skript ./discourse-setup verwenden, allerdings muss ich Discourse als OAuth-Client einrichten, nicht als SMTP-Client, daher muss ich es zuerst in den Quellcode einfügen. Ich kann den Discourse-Quellcode im Repository discourse_docker nicht finden. Wie kann ich den Discourse-Quellcode ändern und dann das Skript ./discourse-setup ausführen? Wenn Sie die Verwendung von ./launcher nicht empfehlen, ist es für mich in Ordnung, diese Richtung nicht zu verfolgen.

Derzeit habe ich die Repositories discourse und discourse_docker.

Wäre es etwas mit dem Ziehen des lokalen Repos auf das Launcher-/Discourse-Setup-Skript anstelle des Upstream?

Meinen Sie SMTP mit OAuth-Authentifizierung anstelle von Basisauthentifizierung? Oder möchten Sie E-Mails über einen anderen Weg senden?

Discourse unterstützt keine SMTP-OAuth-Authentifizierung. Der einfachste Ansatz ist daher wahrscheinlich, dass Discourse E-Mails an einen lokalen Mailserver übergibt, der so konfiguriert ist, dass er die E-Mails mit der erforderlichen Authentifizierung übermittelt.

Googles unterstützter Mechanismus hierfür scheint zu sein:

1 „Gefällt mir“

Ich meine, dass sich Discourse in meinem Fall mit dem Mail-Provider OAuth 2 verbinden soll und nicht mit SMTP. Leider habe ich festgestellt, dass meine E-Mails wahrscheinlich im Spam landen, wenn ich keinen großen Mail-Provider verwende. Daher habe ich beschlossen, die OAuth 2-Authentifizierung für das Discourse-Konto ohne Antwort hinzuzufügen und mich mit Google Workspace zu verbinden. Ich habe auch Mailgun ausprobiert, aber dafür bräuchte ich auch IMAP-Unterstützung.

Die richtige Formulierung ist:

Ich möchte, dass sich Discourse mit dem SMTP-Server über OAuth2-Authentifizierung anstelle der Basisauthentifizierung authentifiziert.

Dies ist für Benutzerantworten / eingehende E-Mails?

Ich verstehe, dass es dafür ein Mailgun-Plugin gibt, obwohl ich es noch nicht verwendet habe.

Ja, das ist es, was ich möchte :slight_smile: Ich habe Google Workspace bereits abonniert und möchte es so weit wie möglich ausreizen.

Google Workspace ist nicht für transaktionale E-Mails ausgelegt. Sie müssen etwas anderes verwenden.

Wenn Sie möchten, dass Ihr Forum E-Mails empfängt, lesen Sie Eingehende E-Mails mit direkter Zustellung für selbst gehostete Websites mit Mail-Receiver konfigurieren

Normalerweise würden Sie einen transaktionalen E-Mail-Dienst konfigurieren, der von noreply@forum.example.com sendet, und der Mail-Receiver empfängt an ihn gesendete E-Mails und übergibt sie an Discourse.

Vielen Dank, ich probiere das jetzt aus.

1 „Gefällt mir“

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