Probleme beim Einrichten von Hostmail

Hallo. Ich hoffe, es stört Sie nicht, wenn ich den Thread übernehme.

Mein Hosting-Provider hat keine Probleme mit E-Mails. Alle Tests mit verschiedenen Tools funktionieren – Ports sind offen und E-Mails sollten gesendet werden können. Das Problem ist – es funktioniert nicht mit Discourse.

https://carlosthomas.net/photos/picture.php?/911/category/8

Unabhängig davon, welchen Port ich versuche, erhalte ich immer die gleichen Fehler.

Ich habe manuell Konten erstellt und kann mich anmelden, aber E-Mails werden für Einladungen und Validierungen benötigt. Ich habe es mit MailGun getestet und es funktioniert – aber ich kann nicht herausfinden, warum es mit meinem Hosting-Provider nicht funktioniert. Ich habe sie kontaktiert und sie sagten, alles sollte in Ordnung sein – daher bin ich etwas ratlos.

https://carlosthomas.net/photos/picture.php?/913/category/8

Als neuer Benutzer kann ich nur zwei Links posten – aber diese sollten Sie zu den restlichen Fotos führen.

Lassen Sie mich wissen, ob es Protokolle gibt, die ich abrufen soll – ich habe nur begrenzte *NIX-Erfahrung, aber ich kann Anweisungen befolgen. Vielen Dank im Voraus.

Danke @JammyDodger für das Teilen/Verschieben. Ich hoffe, ich bekomme hier etwas Hilfe. Der Server ist nicht permanent – er dient zum Testen –, daher können alle erforderlichen Protokolle oder Befehle zur Lösungsfindung weitergegeben werden.

Grundsätzlich funktioniert E-Mail (meistens) mit MailGun, aber nicht mit dem Hosting-Provider. E-Mails von MailGun an kostenlose Dienste (GMAIL usw.) funktionieren einwandfrei. Versuche, von MailGun an meine Domain/gehostete E-Mail zu senden, schlagen fehl. Ich bin mir nicht sicher, was los ist. Die Nutzung der Domain-E-Mail funktioniert in jeder anderen Anwendung einwandfrei – OSTicket/InvoiceNinja/Windows Mail/ThunderBird/usw.

Jede Hilfe wird geschätzt. Vielen Dank im Voraus.

Es ist sicherlich seltsam, wenn Ihre Hostmail-Anmeldeinformationen in anderen Tools funktionieren und vorausgesetzt, sie sind ordnungsgemäß in die Discourse-Konfiguration eingefügt. Haben Sie Sicherheitstools, die die Hostmail-Domain blockieren könnten?

Sie können auch unter \u003cdiscourse_url\u003e/logs nachsehen, ob es einen detaillierten Fehler darüber gibt, was passiert.

Vielen Dank für Ihre Antwort. Hier sind einige Informationen.

Nachricht (12 Kopien gemeldet)

Job-Ausnahme: Ausführung abgelaufen

Backtrace

/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:631:in `initialize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:631:in `open'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:631:in `tcp_socket'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:641:in `block in do_start'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/timeout-0.4.0/lib/timeout.rb:186:in `block in timeout'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/timeout-0.4.0/lib/timeout.rb:193:in `timeout'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:640:in `do_start'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-smtp-0.4.0/lib/net/smtp.rb:610:in `start'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mail-2.8.1/lib/mail/network/delivery_methods/smtp.rb:109:in `start_smtp_session'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mail-2.8.1/lib/mail/network/delivery_methods/smtp.rb:100:in `deliver!'

Um zu verdeutlichen – „hostmail“ ist nur der Name, den ich ihm gegeben habe, da es sich um die E-Mail meines Hosting-Providers (GlowHost) von der Domain handelt, die ich teste – discourse.carlosthomas.net – was MEISTENS OK mit MailGun funktioniert – aber nicht mit der gehosteten E-Mail.

Ich wusste nichts von den /logs – ich kann die Einstellungen erneut vornehmen und die Logs löschen, dann E-Mails versuchen und die Informationen posten, wenn Sie möchten. Ich könnte auch die Logs jetzt löschen – an Gmail senden – was erfolgreich sein wird – dann an meine gehostete E-Mail senden – was fehlschlagen wird – und die Logs senden.

Kontext hinzufügen. Freunde betreiben eine Website mit vBulletin 4.2.5 und ich hoste vorübergehend Discourse für sie, damit sie ein Gefühl dafür bekommen. Das Problem sind die E-Mails – ich kann Anweisungen befolgen, um die Konten manuell zu erstellen, aber wenn sie sich für Discourse entscheiden, benötigen sie die E-Mails, um Benutzer hinzuzufügen. Es gibt auch den Teil des Imports – dafür habe ich diesen Link gefunden, der meiner Meinung nach helfen könnte.

Aber die E-Mail muss gelöst werden. Ich behalte die Box mit Discourse nur so lange, bis dieses Problem gelöst ist. Und ich versuche irgendwie zu zeigen, wie der Support ist. Meine Erfahrung mit den Details in den Foren und dem, was ich gesehen habe, deutet darauf hin, dass die Nutzung/Migration/Support recht einfach sein sollte, sobald die Voraussetzungen für das Hosting der Plattform erfüllt sind. Und sobald die offiziellen Methoden verwendet werden, sollte es einfach genug sein, Unterstützung zu erhalten.

Aber ja – das ist unser Stand. Warten auf Feedback.

1 „Gefällt mir“

Hallo zusammen. Ich werde am Wochenende einiges versuchen, wenn alles gut geht. Ich beabsichtige, es zu bereinigen/neu zu installieren und den Fortschritt zu posten. Wenn jemand Vorschläge hat, bevor es soweit ist – bitte lasst es mich wissen.

Sobald ich diesen Punkt erreicht habe, werde ich die gefundenen Protokolle abrufen und hier posten. Ich werde einige zufällig generierte Passwörter für den Vorgang verwenden, damit Personen, die helfen wollen, darauf zugreifen können. Mal sehen, wie es läuft.

Ich führe derzeit Überprüfungen und Änderungen an der Datei app.yml durch – habe die Protokolle zuvor gelöscht – werde E-Mails versenden und Bescheid geben.

EDIT
Das Löschen von Protokollen und das Senden von E-Mails an Gmail oder meine eigene Domain zeigen keine Fehler. Ich erhalte E-Mails bei Gmail, aber keine bei meiner Domain.

Die Protokolle bei MailGun sagen im Grunde Folgendes:

{
	"recipient": "me@mydomain",
	"id": "SCBCSJxDSqupdU9Da29rRw",
	"envelope": {
		"sender": "postmaster@mg.mydomain",
		"targets": "me@mydomain",
		"transport": "smtp",
		"sending-ip": "192.168.0.1"
	},
	"timestamp": 1697462206.8430145,
	"user-variables": {},
	"message": {
		"headers": {
			"from": "Discourse Test Forum <postmaster@mg.mydomain>",
			"message-id": "9d3b190d-bcbd-4378-8eb6-fc90cd57fe35@discourse.mydomain",
			"to": "me@mydomain",
			"subject": "[Discourse Test Forum] Email Deliverability Test"
		},
		"attachments": [],
		"size": 4546
	},
	"storage": {
		"region": "us-west1",
		"key": "BAABAQUOTl3y4PtvsqlN5Z2OvaxXslLlZA",
		"env": "production",
		"url": "https://storage-us-west1.api.mailgun.net/v3/domains/mg.mydomain/messages/BAABAQUOTl3y4PtvsqlN5Z2OvaxXslLlZA"
	},
	"reason": "generic",
	"delivery-status": {
		"enhanced-code": "",
		"mx-host": "mydomain",
		"description": "",
		"certificate-verified": true,
		"attempt-no": 1,
		"code": 550,
		"message": "Verification failed for <bounce+674b6a.be6180c-me=mydomain@mg.mydomain>\nThe mail server does not recognize bounce+674b6a.be6180c-me=mydomain@mg.mydomain as a valid sender.\nSender verify failed",
		"session-seconds": 40.878,
		"tls": true
	},
	"campaigns": [],
	"severity": "permanent",
	"tags": [],
	"recipient-domain": "mydomain",
	"flags": {
		"is-routed": false,
		"is-authenticated": true,
		"is-test-mode": false,
		"is-system-test": false
	},
	"log-level": "error",
	"event": "failed"
}

Ich erhalte dies nur, wenn ich es mit meiner eigenen Domain versuche. Wenn ich eine andere Domain versuche, ist alles in Ordnung – kostenlos oder nicht.

Aktuelle Einstellungen in der app.yml sind:

## 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 SUPER SUPER EMPFINDLICH GEGEN FEHLER 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"
  ## Kommentieren Sie die nächste Zeile aus, um den IPv6-Listener zu aktivieren
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Kommentieren Sie diese beiden Zeilen aus, 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 bereitstellen?
## 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

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: "2048MB"

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

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

  ## Kommentieren Sie dies aus, 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 bei der ersten Anmeldung zu Administratoren und Entwicklern gemacht werden
  ## Beispiel 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'me@mydomain'

  ## 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: smtp.mailgun.org
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: postmaster@mg.mydomain
  DISCOURSE_SMTP_PASSWORD: "mailgunpassword"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true             # (optional, Standard true)
  #DISCOURSE_SMTP_FORCE_TLS: true
  DISCOURSE_SMTP_DOMAIN: mydomain
  DISCOURSE_NOTIFICATION_EMAIL: postmaster@mg.mydomain


  ## Wenn Sie die Lets Encrypt-Vorlage hinzugefügt haben, kommentieren Sie unten aus, um ein kostenloses SSL-Zertifikat zu erhalten
  LETSENCRYPT_ACCOUNT_EMAIL: freemailaccount

  ## 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-Adresssuche
  ## 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
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-docs.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 sie 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='info@unconfigured.discourse.org'"
  - exec: echo "Ende der benutzerdefinierten Befehle"

Wirklich – die einzigen Änderungen, die an diesem vorgenommen wurden, wären:

DISCOURSE_SMTP_ADDRESS: smtp.mydomain
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: email@mydomain
  DISCOURSE_SMTP_PASSWORD: "mydomainmailpassword"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true             # (optional, Standard true)
  #DISCOURSE_SMTP_FORCE_TLS: true
  DISCOURSE_SMTP_DOMAIN: mydomain
  DISCOURSE_NOTIFICATION_EMAIL: email@mydomain

Sobald ich eine Antwort von jemandem erhalte, werde ich diese Änderungen vornehmen und in den Protokollen nachsehen. Oder… vielleicht mache ich es einfach – poste die Protokolle – und warte auf eine Antwort. Sollte nicht zu lange dauern. Mal sehen.

1 „Gefällt mir“

Ehrlich gesagt, weiß ich es nicht. :thinking: Das scheint kein Problem mit Discourse zu sein. Ich meine, die E-Mail wurde von Discourse ordnungsgemäß gesendet, aber Mailgun konnte sie nicht an die E-Mail-Adresse liefern.

Fehler 550 bedeutet „Das Postfach des Benutzers war nicht verfügbar (z. B. nicht gefunden)“.

1 „Gefällt mir“

Vielen Dank für Ihre Antwort. Ich weiß nicht, was los ist – die E-Mail funktioniert einwandfrei. Sie mag meine Domain einfach nicht, nehme ich an.

Ich habe die Einstellung geändert, um meine Domain-E-Mail zum Senden zu verwenden. Ich werde jetzt die Protokolle überprüfen und sehen, welche Fehler ich erhalte.

EDIT
Kein Fehler in den Protokollen – aber ich habe das hier bekommen.

Ich werde es von ./discourse-doctor versuchen – aber die Protokolle sind unter /logs ehrlich gesagt leer.

Und ich bekomme die gleichen Fehler, die am Anfang gepostet wurden.

Die verwendete E-Mail-Adresse funktioniert. Ich kopiere und füge die Details einschließlich des Passworts ein. Ich habe dieselbe E-Mail mit ThunderBird / Windows Mail getestet, ohne jegliche Probleme. Also…

Ich habe zuvor den Support meines Hosting-Anbieters kontaktiert – dies war die Antwort.

Also, keine Ahnung. Vielleicht übersehe ich etwas? Test-E-Mails funktionieren mit 465 / 587 und es gibt keine Probleme. Ich bin ratlos.

Gibt es Sonderzeichen, die blockiert werden oder Probleme mit den E-Mail-Einstellungen verursachen könnten?

Einstellungen auf Port 465 geändert und sehe nur dies in /logs.

Nichts von großer Bedeutung, denke ich.

Ich möchte @Arkshine für die bisherige Hilfe ein großes Lob und Dank aussprechen. Anscheinend kann der VPS die gehostete Domain nicht erreichen – daher funktionieren die E-Mails nicht. Das ist ziemlich seltsam, aber ich kontaktiere den Hosting-Provider, um das zu überprüfen. Ich werde ein Update geben.

Das ging ziemlich schnell und einfach. Ein einfacher Ping zur gehosteten Domain von einer SSH-Sitzung zum VPS, auf dem Discourse läuft, zeigte, was los war. Mal sehen, wie es weitergeht.

EDIT
Ich wünschte, @Arkshine hätte geantwortet, damit ich das als Lösung markieren könnte. Jedenfalls – ich habe eine Antwort vom Hosting-Provider erhalten. Anscheinend haben ihre Server die VPS-IP automatisch wegen fehlgeschlagener SMTP-Versuche blockiert. Ich bin mir nicht sicher, was da los war – ich werde die Einstellungen ändern und die Tests erneut durchführen und sehen. Sollte jetzt in Ordnung sein – die gehostete IP ist jetzt vom VPS aus anpingbar. Habe die E-Mail-Einstellungen getestet und wir können loslegen!

Hoffentlich hilft diese Information jemandem. Wenn ich den OP bearbeiten könnte, würde ich einfach eine TL;DR einfügen – oder sie können einfach auf den Link klicken, um zur Lösung zu gelangen.

Nochmals – vielen Dank an @Arkshine für all die Hilfe. Weiter so!

2 „Gefällt mir“

Ich stimme zu, er ist eine große Hilfe und Ressource. :slight_smile:

3 „Gefällt mir“

Möchte auch erwähnen, dass sein DP und sein Profilhintergrund wirklich cool sind. Gefällt mir.

1 „Gefällt mir“

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