Problème de vérification d'e-mail après l'installation de Discourse

Bonjour,

J’ai installé Discourse sur mon VPS en utilisant Docker, et tout semble fonctionner correctement à l’exception d’une fonctionnalité cruciale : la vérification par e-mail. Voici le problème que je rencontre :

Après avoir configuré avec succès Discourse sur mon domaine (forum.askseotools.com), j’ai procédé à la création d’un compte administrateur. Cependant, lorsque j’ai saisi mon adresse e-mail pour la vérification, je n’ai jamais reçu l’e-mail de vérification.

J’exécute Discourse sur Ubuntu 20.04 LTS 64 Bit avec aapanel.
Veuillez vérifier le fichier 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:
  - "3001: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: "256MB"

  ## 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 ? (par 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: 3

  ## TODO : Le nom de domaine auquel cette instance Discourse répondra
  ## Requis. Discourse ne fonctionnera pas avec un simple numéro IP.
  DISCOURSE_HOSTNAME: 'forum.askseotools.com'

  ## 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 (par défaut "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO : Liste des e-mails séparés par des virgules qui seront faits administrateurs et développeurs
  ## lors de la première inscription, par exemple 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'ianasystems@gmail.com,ianasystems@gmail.com'

  ## TODO : Le serveur de messagerie SMTP utilisé pour vérifier 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: mail.askseotools.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: forum@askseotools.com
  DISCOURSE_SMTP_PASSWORD:
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (facultatif, par défaut true)
  #DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (requis par certains fournisseurs)
  #DISCOURSE_NOTIFICATION_EMAIL: noreply@discourse.example.com    # (adresse à partir de laquelle envoyer les notifications)

  ## Si vous avez ajouté le modèle Lets Encrypt, décommentez ci-dessous pour obtenir un certificat SSL gratuit
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.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

  ## La clé de licence MaxMind pour la recherche d'adresses IP
  ## consultez https://meta.discourse.org/t/-/137387/23 pour plus de détails
  #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

## 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='forum@askseotools.com'"
  - exec: echo "Fin des commandes personnalisées"

Veuillez mettre à jour.

Merci.

Cette section me semble grossièrement mal configurée.

Il n’y a pas de mot de passe SMTP, d’e-mail de notification ou de domaine SMTP. Vous aurez besoin des trois pour que les e-mails fonctionnent et il faudra peut-être également vérifier auprès de votre serveur smtp s’il n’est pas mis sur liste noire par d’autres fournisseurs d’e-mail.

Le smtp auto-hébergé est le moyen le plus simple de faire rejeter vos e-mails s’il n’est pas configuré et maintenu correctement.

1 « J'aime »

Voir Dépannage des e-mails sur une nouvelle installation de Discourse

1 « J'aime »

Merci pour votre réponse rapide. J’apprécie vos éclaircissements.

J’ai apporté des ajustements au mot de passe SMTP dans mon fichier app.yml avant de le partager ici pour obtenir de l’aide.

Je vais m’occuper des lignes commentées pour #DISCOURSE_SMTP_DOMAIN et #DISCOURSE_NOTIFICATION_EMAIL afin d’assurer leur configuration.

Concernant la configuration SMTP, j’ai effectué des tests avec mon SMTP auto-hébergé et il fonctionne correctement. J’ai réussi à envoyer et recevoir des e-mails depuis Gmail via l’application de messagerie dans aapanel.

Faites-moi savoir s’il y a d’autres aspects que je devrais aborder ou si vous avez besoin d’informations supplémentaires.

Merci encore pour votre aide.

Veuillez vérifier.

./discourse-doctor

Comme le suggère le message d’erreur que vous avez montré.

Il semble que le certificat de votre serveur smtp soit cassé.

1 « J'aime »

Oui,
vous avez raison.

Comment corriger ? S’il vous plaît, faites-moi savoir.

Merci.

Demandez aux administrateurs du serveur de messagerie de le réparer.

1 « J'aime »

Merci beaucoup, Pfaffman, d’avoir attiré l’attention sur le problème du certificat SSL. J’ai résolu le problème du certificat SSL et la vérification par e-mail fonctionne désormais correctement. Je reçois les vérifications par e-mail sans aucun problème.

2 « J'aime »