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.
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.
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:
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.
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.