Problème de courrier sur discourse avec proxy inversé

J’ai configuré dans mon app.yml le courrier comme suit :

  DISCOURSE_SMTP_ADDRESS: mail.mysecrect.tld
  DISCOURSE_SMTP_PORT: 465
  DISCOURSE_SMTP_USER_NAME: minegenix@mysecret.tld
  DISCOURSE_SMTP_PASSWORD: <secret>

J’ai également trouvé ceci dans les journaux :

échec
Courrier livré 3ff63fed-4142-4042-ab33-29493b32b3a6@beta2.mysecret.tld (30001.9ms)
Exception de tâche : expiration de l'exécution

vous devrez peut-être ajouter ceci à votre app.yml

DISCOURSE_SMTP_ENABLE_START_TLS: false

D’accord, au fait, j’utilise Mailcow !

Le serveur exécute-t-il discourse beta2.mysecret.tld - et non mysecret.tld ?

Essayez ces options :

DISCOURSE_SMTP_ADDRESS: 172.17.0.1 # utilisez l'ip interne ici - le domaine du serveur de messagerie pourrait ne pas être résolu correctement
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: "VOTRE-NOM-UTILISATEUR-SMTP"
DISCOURSE_SMTP_PASSWORD: "VOTRE-MOT-DE-PASSE-SMTP"
#DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optionnel, par défaut true)
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_DOMAIN: mysecret.tld

mysecret.tld n’est qu’un espace réservé qui masque mon adresse de forum réelle car je ne veux pas la révéler :slight_smile:

Envoyez-vous des e-mails avec une adresse d’expéditeur comme « …\@ beta2. mysecret.tld » - alors que votre compte mailcow est pour « …\@mysecret.tld » ?

non, j’envoie des e-mails depuis …@ mysecret.tld et le site fonctionne sur beta2.mysecret.tld

@Sprisa ajoute le réglage que j’ai posté et reconstruis.

Voyons si ça aide.

@rrit tu ne saisis pas le problème :man_facepalming:

1 « J'aime »

oui, je fais ça actuellement

1 « J'aime »

au fait, dois-je toujours initialiser après chaque reconstruction ?

D’accord, j’ai ajouté les paramètres, cela n’a pas aidé.

Comment déboguer les problèmes de première connexion au serveur SMTP

1. Entrez dans votre conteneur :

./launcher enter app

2. Vérifiez la résolution DNS du nom de votre serveur SMTP via getent hosts :

(dig, nslookup, ping etc. ne sont pas installés dans le conteneur.)

getent hosts votre.serveur.smtp

Résultat en cas de succès :

# IPv4
123.123.123.123 votre.serveur.smtp

# IPv6
2001:db8:0:0:0:ff00:42:8329 votre.serveur.smtp

3. Essayez d’ouvrir une connexion à votre serveur SMTP via openssl :

(telnet, nc etc. ne sont pas installés dans le conteneur.)

Jouez avec différents paramètres jusqu’à ce que vous réussissiez à établir une connexion.

openssl s_client -connect votre.serveur.smtp:465
openssl s_client -connect votre.serveur.smtp:587 -starttls smtp

# IPv4
openssl s_client -connect 172.17.0.123:465
openssl s_client -connect 172.17.0.123:587 -starttls smtp

# IPv6
openssl s_client -6 -connect "[2001:db8:0:0:0:ff00:42:8329]:465"
openssl s_client -6 -connect "[2001:db8:0:0:0:ff00:42:8329]:587" -starttls smtp

Voir : Comment vérifier la connexion SMTP –\u003e Étape 3 : Vérification de la connexion SMTP via TLS avec Openssl

4. Utilisez vos paramètres de connexion fonctionnels trouvés avec Discourse.

:rocket:

Bonus : afficher l’adresse IP de Discourse depuis le conteneur Docker

( ifconfig , ip etc. ne sont pas installés dans le conteneur.)

hostname -I

Résultat similaire à :

172.17.0.2

Je n’arrive pas à établir de connexion avec openssl, et je n’obtiens que ceci : de getent

2606:4700:3032::ac43:d2f1 mail.secret.tdl
2606:4700:3033::6815:4db8 mail.secret.tld

(secret.tld remplaçant mon domaine réel)

Coup d’essai : S’agit-il d’une adresse IP publique ? Votre mailcow est-il configuré pour écouter les connexions smtp sur cette adresse IP publique ou uniquement sur un réseau interne ?

À l’intérieur du conteneur Discourse, vous pouvez obtenir l’adresse IP de vos conteneurs via :

hostname -I

Votre mailcow est-il également sur le même réseau interne (docker) ?

172.17.0.2 est ce que j’obtiens de hostname -I

Pouvez-vous accéder à votre conteneur mailcow et également obtenir hostname -I ? Mailcow et Discourse sont-ils deux conteneurs Docker distincts sur le même hôte ?

Comment puis-je accéder au conteneur mailcow ? Il n’y a pas de script de lancement.

Je ne connais pas non plus mailcow. Peut-être vaut-il mieux vérifier auprès de la communauté mailcow : https://community.mailcow.email/

Que dois-je utiliser pour obtenir des systèmes de messagerie, ou quel logiciel puis-je installer sur Ubuntu qui fonctionnerait comme un service de messagerie pour mes forums ?