E-Mail-Versand fehlgeschlagen, endgültiger Fehler: Fehler - Ende der Datei erreicht
Installation
Die Installationsmethode finden Sie in diesem Artikel.
Ich hatte zuerst 1p und dann das Forum installiert, aber ich habe die Ports 80/443 im Voraus freigegeben.
Fehler
Die E-Mail-Informationen im Admin-Panel zeigen:
Pop-up-Fenster für fehlgeschlagenen Versand:
(Kann nicht bereitgestellt werden, ich kann nur ein Bild hochladen, aber der Inhalt des Fehler-Pop-ups ist Fehler - Ende der Datei erreicht)
Zusätzliche Informationen
Für E-Mails wird der 163-E-Mail-Dienst direkt mit SMTP verwendet. Viele Leute empfehlen, E-Mails mit eigener Domain zu verwenden, aber wir sind ein wenig arm.
Ich erinnere mich, dass der 587 TLS von NetEase E-Mail Probleme hat (das ursprüngliche System verwendete 465 für den Versand, ich denke, das hat einen gewissen Sinn).
Einige Teile der Konfiguration wurden durch Nachschlagen von Informationen und KI geändert, hauptsächlich diese Stellen:
DISCOURSE_SMTP_ENABLE_SSL: true
DISCOURSE_SMTP_ENABLE_START_TLS: false
DISCOURSE_SMTP_AUTHENTICATION_TYPE: login
app.yml Konfiguration
## 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 bereitstellen?
## Wenn Discourse einen Port mit einem anderen Webserver wie Apache oder nginx teilen soll,
## 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 eingestellt, 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 eingestellt, oder Sie können überschreiben
UNICORN_WORKERS: 8
## TODO: Der Domainname, unter dem diese Discourse-Instanz erreichbar sein wird
## Erforderlich. Discourse funktioniert nicht mit einer reinen IP-Nummer.
DISCOURSE_HOSTNAME: bbs.furina.chat
## Kommentar entfernen, 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: Komma-getrennte Liste von E-Mails, die beim ersten Login Administrator und Entwickler werden
## Beispiel 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'images8023@163.com'
## TODO: Der SMTP-Mailserver, der zur Validierung neuer Konten und zum Senden von Benachrichtigungen verwendet wird
# SMTP-ADRESSE, Benutzername und Passwort sind erforderlich
# WARNUNG: Das Zeichen '#' im SMTP-Passwort kann Probleme verursachen!
DISCOURSE_SMTP_ADDRESS: smtp.163.com
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: phantasm_ai@163.com
DISCOURSE_SMTP_PASSWORD: "(Sicherheitstoken)"
DISCOURSE_SMTP_ENABLE_SSL: true
DISCOURSE_SMTP_ENABLE_START_TLS: false # (optional, Standard true)
DISCOURSE_SMTP_DOMAIN: 163.com # (von einigen Anbietern erforderlich)
DISCOURSE_NOTIFICATION_EMAIL: phantasm_ai@163.com
DISCOURSE_SMTP_AUTHENTICATION_TYPE: login
## Wenn Sie die Lets Encrypt-Vorlage hinzugefügt haben, kommentieren Sie unten, um ein kostenloses SSL-Zertifikat zu erhalten
LETSENCRYPT_ACCOUNT_EMAIL: images8023@163.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
## Die MaxMind Geolocation IP-Konto-ID und der Lizenzschlüssel für IP-Adressabfragen
## siehe https://meta.discourse.org/t/-/173941 für Details
#DISCOURSE_MAXMIND_ACCOUNT_ID: 123456
#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-solved
- git clone https://github.com/discourse/discourse-reactions
## Alle benutzerdefinierten Befehle, die nach dem Erstellen ausgeführt werden sollen
run:
- exec: echo "Beginn der benutzerdefinierten Befehle"
## Wenn Sie die E-Mail-Adresse des Absenders für Ihre erste Registrierung festlegen möchten, kommentieren Sie sie aus und ändern Sie sie:
## Nach Erhalt der ersten Registrierungs-E-Mail 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"
