Je lance un forum, tout nouveau sur Discourse, hébergé sur DO. Pour une raison quelconque, je rencontre des problèmes avec SMTP ou avec les ports. Maintenant, je voudrais savoir si vous avez opté pour la connexion via Google ou d’autres réseaux sociaux, et s’il n’y a pas de problème si les inscriptions ou connexions locales ne sont pas activées sur votre forum.
SMTP est bloqué par défaut sur DO. Si vous souhaitez utiliser la messagerie, vous devrez trouver un proxy quelque part. Beaucoup de personnes ont indiqué que Mailgun fonctionne bien pour Discourse dans le cloud, mais je n’ai pas d’expérience personnelle avec cela.
Cela pourrait correspondre à ce que vous recherchez :
Oui, vous pouvez utiliser la connexion sociale (Discord, Google, …) ou Discourse ID (aucune configuration requise) sans SMTP. Vous perdrez les résumés et les notifications par e-mail, mais si votre objectif est uniquement de créer une communauté, cela fonctionnera très bien même avec un engagement plus faible (les résumés sont conçus pour aider à la rétention).
Super, j’ai essayé SendGrid, Mailgun et Resend. J’ai le même problème, cela pourrait être un problème de port, j’ai testé tous les ports. Pour l’instant, je veux vérifier si les connexions sociales fonctionnent bien et supprimer les connexions locales.
Vous pouvez désactiver le paramètre du site enable local logins si vous souhaitez supprimer les connexions locales. Vous pouvez également consulter Discourse ID.
Bonjour @abeen, bienvenue
J’ai effectué de nombreuses installations en auto-hébergement avec Mailgun et Resend sur DigitalOcean (et d’autres serveurs cloud) — pouvez-vous fournir plus d’informations sur le problème que vous rencontrez ? Avez-vous modifié votre app.yml avec les paramètres appropriés ? Je suppose qu’il s’agit d’une installation standard ?
La DO indique : « Veuillez noter qu’en plus du port 25 précédemment bloqué, les ports 465 et 587 sont désormais bloqués sur les droplets depuis le 6 mars 2025. Cela vise à s’assurer que les serveurs DigitalOcean ne sont pas utilisés pour envoyer des courriers indésirables. »
Et dans le panneau d’administration, je vois :
30 tâches e-mail ont échoué. Vérifiez votre fichier app.yml et assurez-vous que les paramètres du serveur de messagerie sont corrects. Voir les tâches échouées dans Sidekiq.
J’ai recréé l’API Resend, changé le port pour 587, puis essayé avec 2525. Rien ne fonctionne pour moi.
Voici mon fichier YAML :
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
DISCOURSE_HOSTNAME: dobato.au
DISCOURSE_DEVELOPER_EMAILS: myemail@outlook.com
DISCOURSE_SMTP_ADDRESS: smtp.resend.com
DISCOURSE_SMTP_USER_NAME: resend
DISCOURSE_SMTP_PASSWORD: « mon mot de passe ici »
DISCOURSE_SMTP_PORT: 2525
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_NOTIFICATION_EMAIL: noreply@dobato.au
DISCOURSE_SMTP_DOMAIN: dobato.au
C’est probablement le principal problème à l’origine de vos difficultés : vous utilisez des guillemets courbes. Les fichiers YML n’aiment pas cela et cela provoque généralement des erreurs. Vous devez utiliser des guillemets simples ou doubles droits, comme 'mot de passe' ou "mot de passe".
Avez-vous effectué une installation standard sur un sous-domaine ou s’agit-il d’une installation sur un domaine racine ? Dans le premier cas, cela devrait ressembler à forum.dobato.au ou discourse.dobato.au (vérifiez ce qui est configuré sur votre serveur de noms). Sauf si vous aviez l’intention d’installer sur un domaine racine, cela doit être corrigé.
Cette ligne est inutile, supprimez-la.
Bien que Resend le prenne en charge et que cela devrait fonctionner, la norme est 587.
Cette ligne n’est pas nécessaire ; il n’y a aucun intérêt à forcer le système de messagerie à démarrer STARTTLS. Le système de messagerie Ruby sous-jacent (ActionMailer) utilise enable_starttls_auto: true, ce qui signifie qu’il élèvera automatiquement la connexion vers TLS si le serveur (Resend) le prend en charge. Supprimez cette ligne.
Votre section app.yml correcte devrait ressembler à ceci :
Oh, j’ai oublié DO, lol. Je les ai quittés il y a un moment. Dans ma tête, je pensais à Resend et Hetzner. Donc oui, utilisez 2525 (je me souviens maintenant avoir changé cela lors de ma migration aussi).
Edit : J’ai corrigé mon message. Merci Jakee
Outre les excellents conseils ci-dessus, exécuter la commande rake emails:test (voir Troubleshoot email on a new Discourse install) pour afficher immédiatement l’erreur devrait probablement vous aider.
Mon site s’est effondré maintenant. C’est un nouveau site avec peu de membres, je ne sais pas comment télécharger mes pages personnalisées et mes membres. Je ne veux pas du tout utiliser SMTP.
Oui, votre fichier yml est probablement corrompu. Publiez-le ici (sans les adresses e-mail et les mots de passe). Cela ne devrait vraiment pas être aussi difficile à mettre en place.
Par simple curiosité, quelle taille de droplet utilisez-vous sur DigitalOcean ?
Avez-vous pu vérifier si votre serveur de noms est correctement configuré ?
Je vois. Il est possible d’héberger Discourse sur Lightsail avec SES (certains utilisateurs le font ici). Ou vous pouvez essayer le port 2525 si vous ne l’avez pas déjà fait. Mais si vous souhaitez éviter ces problèmes de port, vous pourriez passer à un autre hébergeur, comme Hetzner ou Lightsail.