Probleme bei der E-Mail-Verifizierung nach Discourse-Installation

Hallo,

Ich habe Discourse auf meinem VPS mit Docker installiert, und alles scheint bis auf eine entscheidende Funktion – die E-Mail-Verifizierung – einwandfrei zu funktionieren. Hier ist das Problem, auf das ich stoße:

Nachdem ich Discourse erfolgreich auf meiner Domain (forum.askseotools.com) eingerichtet hatte, habe ich ein Administratorkonto erstellt. Als ich jedoch meine E-Mail-Adresse zur Verifizierung eingegeben habe, habe ich die Verifizierungs-E-Mail nie erhalten.

Ich betreibe Discourse auf Ubuntu 20.04 LTS 64 Bit mit aapanel.
Bitte überprüfen Sie die Datei app.yml.

## Dies ist die All-in-One-Standalone-Discourse-Docker-Container-Vorlage
##
## Nach Änderungen an dieser Datei MÜSSEN Sie neu erstellen
## /var/discourse/launcher rebuild app
##
## SEIEN SIE *SEHR* VORSICHTIG BEIM BEARBEITEN!
## YAML-DATEIEN SIND SEHR, SEHR EMPFINDLICH GEGENÜBER FEHLERN BEI LEERZEICHEN ODER AUSRICHTUNG!
## Besuchen Sie http://www.yamllint.com/, um diese Datei bei Bedarf zu validieren

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## Kommentar entfernen, um den IPv6-Listener zu aktivieren
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Kommentar entfernen, wenn Sie Lets Encrypt (https) hinzufügen möchten
  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

## Welche TCP/IP-Ports soll dieser Container verfügbar machen?
## Wenn Sie möchten, dass Discourse einen Port mit einem anderen Webserver wie Apache oder Nginx teilt,
## siehe https://meta.discourse.org/t/17247 für Details
expose:
  - "3001:80"   # http
  #- "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Setzen Sie db_shared_buffers auf maximal 25% des Gesamtspeichers.
  ## wird automatisch von bootstrap basierend auf dem erkannten RAM gesetzt, oder Sie können überschreiben
  #db_shared_buffers: "256MB"

  ## kann die Sortierleistung verbessern, erhöht aber den Speicherverbrauch pro Verbindung
  #db_work_mem: "40MB"

  ## Welche Git-Revision soll dieser Container verwenden? (Standard: tests-passed)
  #version: tests-passed

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## Wie viele gleichzeitige Webanfragen werden unterstützt? Hängt von Speicher und CPU-Kernen ab.
  ## wird automatisch von bootstrap basierend auf den erkannten CPUs gesetzt, oder Sie können überschreiben
  #UNICORN_WORKERS: 3

  ## TODO: Der Domainname, auf den diese Discourse-Instanz reagieren wird
  ## Erforderlich. Discourse funktioniert nicht mit einer reinen IP-Nummer.
  DISCOURSE_HOSTNAME: 'forum.askseotools.com'

  ## Kommentar entfernen, wenn der Container mit demselben
  ## Hostnamen (-h Option) wie oben angegeben gestartet werden soll (Standard "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Liste von durch Kommas getrennten E-Mails, die beim ersten Anmelden zu Administratoren und Entwicklern gemacht werden
  ## Beispiel 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'ianasystems@gmail.com,ianasystems@gmail.com'

  ## TODO: Der SMTP-Mailserver, der zum Überprüfen neuer Konten und zum Senden von Benachrichtigungen verwendet wird
  # SMTP-ADRESSE, Benutzername und Passwort sind erforderlich
  # ACHTUNG: Das Zeichen '#' im SMTP-Passwort kann Probleme verursachen!
  DISCOURSE_SMTP_ADDRESS: mail.askseotools.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: forum@askseotools.com
  DISCOURSE_SMTP_PASSWORD: 
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, Standard true)
  #DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (von einigen Anbietern erforderlich)
  #DISCOURSE_NOTIFICATION_EMAIL: noreply@discourse.example.com    # (Adresse, von der Benachrichtigungen gesendet werden)

  ## Wenn Sie die Lets Encrypt-Vorlage hinzugefügt haben, kommentieren Sie unten, um ein kostenloses SSL-Zertifikat zu erhalten
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## Die HTTP- oder HTTPS-CDN-Adresse für diese Discourse-Instanz (konfiguriert zum Abrufen)
  ## siehe https://meta.discourse.org/t/14857 für Details
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
  
  ## Der Maxmind Geolocation IP-Adressschlüssel für die IP-Adressensuche
  ## siehe https://meta.discourse.org/t/-/137387/23 für Details
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

## Der Docker-Container ist zustandslos; alle Daten werden in /shared gespeichert
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Plugins kommen hierher
## siehe https://meta.discourse.org/t/19157 für Details
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## Alle benutzerdefinierten Befehle, die nach dem Erstellen ausgeführt werden sollen
run:
  - exec: echo "Beginn der benutzerdefinierten Befehle"
  ## Wenn Sie die E-Mail-Adresse 'Von' für Ihre erste Registrierung festlegen möchten, kommentieren Sie die Zeile aus und ändern Sie sie:
  ## Nachdem Sie die erste Registrierungs-E-Mail erhalten haben, kommentieren Sie die Zeile wieder aus. Sie muss nur einmal ausgeführt werden.
  - exec: rails r "SiteSetting.notification_email='forum@askseotools.com'"
  - exec: echo "Ende der benutzerdefinierten Befehle"

Bitte aktualisieren Sie.

Danke.

Dieser Abschnitt sieht meiner Meinung nach grob falsch konfiguriert aus.

Es gibt kein SMTP-Passwort, keine Benachrichtigungs-E-Mail und keine SMTP-Domäne. Sie benötigen alle drei, damit E-Mails funktionieren, und müssen möglicherweise auch Ihren SMTP-Server überprüfen, um sicherzustellen, dass er von anderen E-Mail-Anbietern nicht auf einer Blacklist steht.

Selbst gehostetes SMTP ist der einfachste Weg, um Ihre E-Mails abgelehnt zu bekommen, wenn es nicht richtig konfiguriert und gewartet wird.

1 „Gefällt mir“

Siehe E-Mail-Fehlerbehebung bei einer neuen Discourse-Installation

1 „Gefällt mir“

Vielen Dank für Ihre schnelle Antwort. Ich schätze Ihre Einblicke.

Ich habe die SMTP-Passwörter in meiner app.yml-Datei angepasst, bevor ich sie hier zur Unterstützung teile.

Ich werde die auskommentierten Zeilen für #DISCOURSE_SMTP_DOMAIN und #DISCOURSE_NOTIFICATION_EMAIL bearbeiten, um deren Konfiguration sicherzustellen.

Bezüglich der SMTP-Einrichtung habe ich Tests mit meinem selbst gehosteten SMTP durchgeführt, und es funktioniert einwandfrei. Ich habe erfolgreich E-Mails von Gmail über die Mail-App in aapanel gesendet und empfangen.

Lassen Sie mich wissen, ob es noch andere Aspekte gibt, die ich berücksichtigen sollte oder ob Sie weitere Informationen benötigen.

Vielen Dank nochmals für Ihre Hilfe.

Bitte überprüfen Sie.

./discourse-doctor

Wie die Fehlermeldung, die Sie gezeigt haben, nahelegt.

Es sieht so aus, als ob das Zertifikat für Ihren SMTP-Server defekt ist.

1 „Gefällt mir“

Ja,
Sie haben Recht.

Wie kann ich das beheben? Bitte lassen Sie es mich wissen.

Danke.

Bitten Sie die Betreiber des Mailservers, ihn zu reparieren.

1 „Gefällt mir“

Vielen Dank, Pfaffman, dass Sie auf das Problem mit dem SSL-Zertifikat aufmerksam gemacht haben. Ich habe das Problem mit dem SSL-Zertifikat behoben und die E-Mail-Verifizierung funktioniert jetzt ordnungsgemäß. Ich erhalte die E-Mail-Verifizierungen ohne Probleme.

2 „Gefällt mir“