Kann keine E-Mails über den SMTP-Server (Mailjet) senden

Hallo! Ich habe eine Frage zum Versenden von E-Mails. Jede Hilfe ist willkommen :smiling_face_with_three_hearts:

Ich benutze Mailjet als SMTP-Server. Ich habe app.yml mit Verweis auf das Thema (Howto use Mailjet as a free SMTP service for Discourse) konfiguriert und meine Domain und E-Mail-Adresse in Mailjet validiert. Ich habe die Ports 80, 443, 578 und 553 geöffnet.

Aber wenn ich eine Test-E-Mail sende, passiert nichts.


Das ist mein 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"
  ## Die nächste Zeile auskommentieren, um den IPv6-Listener zu aktivieren
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Diese beiden Zeilen auskommentieren, wenn Sie Lets Encrypt (https) hinzufügen möchten
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
  - "templates/web.china.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:
  - "80:80"   # http
  - "443:443" # https
  - "553:553"
  - "587:587"
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: "128MB"

  ## 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: 2

  ## TODO: Der Domainname, auf den diese Discourse-Instanz reagieren wird
  ## Erforderlich. Discourse funktioniert nicht mit einer reinen IP-Nummer.
  DISCOURSE_HOSTNAME: discuss.whitewater.wang

  ## Auskommentieren, wenn Sie möchten, dass der Container mit demselben
  ## Hostnamen (-h Option) wie oben angegeben gestartet wird (Standard "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Liste von per Komma getrennten E-Mails, die bei der Erstanmeldung zu Administratoren und Entwicklern gemacht werden
  ## Beispiel 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'whitewatercn@outlook.com'

  ## TODO: Der SMTP-Mailserver, der zum Validieren 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: in-v3.mailjet.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: 7b14af9b5034******
  DISCOURSE_SMTP_PASSWORD: "46764f565******"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, Standard true)
  # DISCOURSE_SMTP_DOMAIN: beginner.center
  # DISCOURSE_NOTIFICATION_EMAIL: noreply@discuss.whitewater.wang
  # DISCOURSE_SMTP_AUTHENTICATION: login
  DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
  # DISCOURSE_SMTP_ENABLE_START_TLS: true


  ## Wenn Sie die Lets Encrypt-Vorlage hinzugefügt haben, kommentieren Sie unten aus, 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 gehen hier
## 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 'Von'-E-Mail-Adresse für Ihre erste Registrierung festlegen möchten, kommentieren Sie die Zeile aus und ändern Sie sie:
  ## Kommentieren Sie die Zeile nach Erhalt der ersten Registrierungs-E-Mail wieder aus. Sie muss nur einmal ausgeführt werden.
  - exec: rails r "SiteSetting.notification_email='noreply@discuss.whitewater.wang'"
  - exec: echo "Ende der benutzerdefinierten Befehle"

@Lhc_fl Können Sie bitte helfen?

Das deutet wahrscheinlich darauf hin, dass das Problem nicht bei Discourse, sondern bei Mailjet liegt.

Erwägen Sie ./launcher enter app, um in Ihren Docker-Container zu gelangen, und dann rake email:test[example@outlook.com], um die E-Mail-Verfügbarkeit zu testen.

2 „Gefällt mir“

Danke für die Antwort, großer Mann! Ich habe den Testbefehl ausprobiert und er meldet einen Timeout.

root@iZ0jlfiypegsmh5fpig7t4Z-app:/var/www/discourse# rake emails:test[whitewatercn@outlook.com]
Testing sending to whitewatercn@outlook.com using in-v3.mailjet.com:587, username:7b14af9b5034dd6e7639d19587cb7831 with plain auth.
SMTP server connection successful.
Sending to whitewatercn@outlook.com. . . 
Sending mail failed.
JavaScript was terminated (either by timeout or explicitly)

Es kann jetzt gesendet werden, aber die E-Mail wurde nicht empfangen

root@iZ0jlfiypegsmh5fpig7t4Z-app:/var/www/discourse# rake emails:test[whitewatercn@outlook.com]
Testing sending to whitewatercn@outlook.com using in-v3.mailjet.com:587, username:7b14af9b5034dd6e7639d19587cb7831 with plain auth.
SMTP server connection successful.
Sending to whitewatercn@outlook.com. . .
Mail accepted by SMTP server.
Message-ID: fc301347-746b-4b89-8c07-deeb1ee467a4@discuss.whitewater.wang

If you do not receive the message, check your SPAM folder
or test again using a service like http://www.mail-tester.com/.

If the message is not delivered it is not a problem with Discourse.
Check the SMTP server logs for the above Message ID to see why it
failed to deliver the message.

Auf Mailgun umgestellt, jetzt verfügbar :upside_down_face:

Auf den Mailgun-Server umgestellt, jetzt verfügbar :upside_down_face:

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