Échec de l’envoi d’e-mails, erreur finale : Erreur - fin de fichier atteinte
Installation
Pour la méthode d’installation, veuillez vous référer à cet article.
J’ai installé le forum après avoir déjà un 1p, mais j’avais libéré les ports 80/443 au préalable.
Erreur
Les informations d’e-mail affichées dans le panneau d’administration sont :
Fenêtre contextuelle d’échec d’envoi :
(Impossible de fournir, je ne peux poster qu’une seule image, mais le contenu de la fenêtre contextuelle d’erreur est Erreur - fin de fichier atteinte)
Informations supplémentaires
J’utilise directement le SMTP de la boîte aux lettres 163. Beaucoup de gens suggèrent de créer une boîte aux lettres avec son propre domaine, mais nous sommes un peu fauchés.
Je me souviens que le TLS 587 de la boîte aux lettres NetEase avait quelques problèmes (le système précédent utilisait le 465 pour l’envoi d’e-mails, je pense que c’était logique).
J’ai modifié certains éléments de la configuration en consultant la documentation et l’IA, principalement ces parties :
DISCOURSE_SMTP_ENABLE_SSL: true
DISCOURSE_SMTP_ENABLE_START_TLS: false
DISCOURSE_SMTP_AUTHENTICATION_TYPE: login
Configuration app.yml
## ceci est le modèle de conteneur Docker Discourse tout-en-un et autonome
##
## Après avoir apporté des modifications à ce fichier, vous DEVEZ reconstruire
## /var/discourse/launcher rebuild app
##
## SOYEZ *TRÈS* PRUDENT LORS DE LA MODIFICATION !
## LES FICHIERS YAML SONT EXTRÊMEMENT SENSIBLES AUX ERREURS D'ESPACEMENT OU D'ALIGNEMENT !
## visitez http://www.yamllint.com/ pour valider ce fichier si nécessaire
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
## Décommentez la ligne suivante pour activer l'écoute IPv6
#- "templates/web.ipv6.template.yml"
- "templates/web.ratelimited.template.yml"
## Décommentez ces deux lignes si vous souhaitez ajouter Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
## quels ports TCP/IP ce conteneur doit-il exposer ?
## Si vous souhaitez que Discourse partage un port avec un autre serveur web comme Apache ou nginx,
## consultez https://meta.discourse.org/t/17247 pour plus de détails
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## Définissez db_shared_buffers à un maximum de 25 % de la mémoire totale.
## sera défini automatiquement par bootstrap en fonction de la RAM détectée, ou vous pouvez le remplacer
db_shared_buffers: "2048MB"
## peut améliorer les performances de tri, mais augmente l'utilisation de la mémoire par connexion
#db_work_mem: "40MB"
## Quelle révision Git ce conteneur doit-il utiliser ? (défaut : 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
## Combien de requêtes web simultanées sont prises en charge ? Dépend de la mémoire et des cœurs CPU.
## sera défini automatiquement par bootstrap en fonction des CPU détectés, ou vous pouvez le remplacer
UNICORN_WORKERS: 8
## TODO : Le nom de domaine auquel cette instance Discourse répondra
## Obligatoire. Discourse ne fonctionnera pas avec un simple numéro IP.
DISCOURSE_HOSTNAME: bbs.furina.chat
## Décommentez si vous souhaitez que le conteneur soit démarré avec le même
## nom d'hôte (-h option) que celui spécifié ci-dessus (défaut "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO : Liste des e-mails séparés par des virgules qui seront rendus administrateurs et développeurs
## lors de la première inscription, par exemple 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'images8023@163.com'
## TODO : Le serveur de messagerie SMTP utilisé pour valider les nouveaux comptes et envoyer des notifications
# L'adresse, le nom d'utilisateur et le mot de passe SMTP sont requis
# ATTENTION, le caractère '#' dans le mot de passe SMTP peut causer des problèmes !
DISCOURSE_SMTP_ADDRESS: smtp.163.com
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: phantasm_ai@163.com
DISCOURSE_SMTP_PASSWORD: "(jeton de sécurité)"
DISCOURSE_SMTP_ENABLE_SSL: true
DISCOURSE_SMTP_ENABLE_START_TLS: false # (facultatif, par défaut true)
DISCOURSE_SMTP_DOMAIN: 163.com # (requis par certains fournisseurs)
DISCOURSE_NOTIFICATION_EMAIL: phantasm_ai@163.com
DISCOURSE_SMTP_AUTHENTICATION_TYPE: login
## Si vous avez ajouté le modèle Lets Encrypt, décommentez ci-dessous pour obtenir un certificat SSL gratuit
LETSENCRYPT_ACCOUNT_EMAIL: images8023@163.com
## L'adresse CDN http ou https pour cette instance Discourse (configurée pour tirer)
## consultez https://meta.discourse.org/t/14857 pour plus de détails
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
## L'ID de compte et la clé de licence MaxMind Geolocation IP pour les recherches d'adresses IP
## consultez https://meta.discourse.org/t/-/173941 pour plus de détails
#DISCOURSE_MAXMIND_ACCOUNT_ID: 123456
#DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
## Le conteneur Docker est sans état ; toutes les données sont stockées dans /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## Les plugins vont ici
## consultez https://meta.discourse.org/t/19157 pour plus de détails
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
## Toutes les commandes personnalisées à exécuter après la construction
run:
- exec: echo "Début des commandes personnalisées"
## Si vous souhaitez définir l'adresse e-mail 'De' pour votre première inscription, décommentez et modifiez :
## Après avoir reçu le premier e-mail d'inscription, re-commentez la ligne. Elle ne doit s'exécuter qu'une seule fois.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "Fin des commandes personnalisées"
