Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/10/2023, à 10:10

Auguste19

Paramètres SMTP dans une config serveur Ubuntu

Bonjour,

J'ai installé une appli avec Docker sur un serveur Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-86-generic x86_64).
Tout fonctionne sauf l'envoi de mail par l'appli.
Dans le fichier config/env de l'appli, j'ai validé les valeurs suivantes pour les variables d'environnement SMTP :

DELIVERY_METHOD=smtp
SMTP_ADDRESS=smtp.free.fr
SMTP_PORT=587
SMTP_USER_NAME=mon_nom_de_compte@free.fr
SMTP_PASSWORD=mon_mdp
SMTP_AUTHENTICATION=plain
SMTP_ENABLE_STARTTLS_AUTO=true
SMTP_OPENSSL_VERIFY_MODE=none
SMTP_TLS=false

J'ai essayé également sans succès :

SMTP_OPENSSL_VERIFY_MODE=peer
SMTP_TLS=true

J'ai voulu tester les ports 25 et 587 avec Telnet, mais je ne sais pas utiliser cet outil comme il faut (commande à faire à la racine ou dans le répertoire de l'appli ?)
Merci de bien vouloir m'éclairer, en particulier sur les valeurs possibles de SMTP_OPENSSL_VERIFY_MODE

Hors ligne

#2 Le 18/10/2023, à 10:31

bruno

Re : Paramètres SMTP dans une config serveur Ubuntu

Bonjour,

Quelle application ? Les variables que tu indiques sont spécifiques à l'image docker que tu utilises.

#3 Le 18/10/2023, à 11:05

Auguste19

Re : Paramètres SMTP dans une config serveur Ubuntu

bruno a écrit :

Bonjour,
Quelle application ? Les variables que tu indiques sont spécifiques à l'image docker que tu utilises.

L'application est ici
Je découvre Docker en effet, (et il est possible que mes problèmes viennent d'une mauvais mise à jour des variables d'environnement que j'ai faite "en dur" en éditant le fichier de configuration de l'appli avec nano, puis reboot du serveur...)
Ces variables ressemblent à ce qu'on peut trouver par ailleurs sur le Web, et différents réglages sont certainement possibles dans l'appli en fonction du client SMTP, mais je manque de repères et je tourne en rond.

Hors ligne

#4 Le 18/10/2023, à 11:15

bruno

Re : Paramètres SMTP dans une config serveur Ubuntu

A priori tout ceci n'a rien à voir avec Ubuntu.
Je ne connais pas ton application, il faut te référer à leur doc https://github.com/sleede/fab-manager/b … ronment.md

#5 Le 18/10/2023, à 11:30

krodelabestiole

Re : Paramètres SMTP dans une config serveur Ubuntu

ok là tu te créés une image docker : https://github.com/sleede/fab-manager/b … Dockerfile

le but c'est de containériser / distribuer ton application écrite en ruby ?

si c'est ça c'est à toi de récupérer et utiliser tes variables d’environnement au niveau du code.
j'ai l'impression que tu utilises ruby on rails je connais pas particulièrement ce framework, mais je pense que c'est juste au niveau de la config du client mail / smtp qu'il faut que tu récupères ces variables plutôt que définir un truc en dur.

apparemment c'est ce que tu fais :
là le script fait référence à Rails.application.secrets : https://github.com/sleede/fab-manager/b … duction.rb
donc ça je suppose https://github.com/sleede/fab-manager/b … ecrets.yml où on a le nom des variables d'env à utiliser

bref je pense pas que le problème soit lié à docker, mais à la connexion de ruby (on rails) avec le SMTP de free.


gitlab_rails['smtp_openssl_verify_mode'] = 'peer' # Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert', see http://api.rubyonrails.org/classes/Acti … /Base.html

https://docs.gitlab.com/omnibus/settings/smtp.html

Hors ligne

#6 Le 18/10/2023, à 11:40

krodelabestiole

Re : Paramètres SMTP dans une config serveur Ubuntu

concernant free https://assistance.free.fr/articles/con … agerie-609
pour la doc msmtp apparemment on n'utilise aucun chiffrement : https://doc.ubuntu-fr.org/msmtp#configuration
ça me semble pas foufou... mais si c'est juste pour tester l'envoi de mail avec ton app ça peut peut-être suffire ?

dans ce cas le mieux serait plutôt d'utiliser un service comme mailhog. ça simplifie la config et la consultation des mails.
c'est ce que je fais ici avec docker par ex. : https://gitlab.com/ubuntu-fr/code/ufr-d … ompose.yml
et pour l'occase même le fichier .env est versionné ! https://gitlab.com/ubuntu-fr/code/ufr-d … /main/.env (à ne pas faire pour ton projet évidemment)

Hors ligne

#7 Le 18/10/2023, à 11:46

bruno

Re : Paramètres SMTP dans une config serveur Ubuntu

Je précise quand même que pour le smtp le mieux est d'utiliser le port 465 avec TLS implicite. Le smtp de Free n'est (ou n'était) accessible que le port 25 que depuis une IP free.

#8 Le 18/10/2023, à 11:54

jplemoine

Re : Paramètres SMTP dans une config serveur Ubuntu

IL y a longtemps que Free propose un smtp authentifié pour ceux qui n'ont pas une IP free.
Je pense que c'est concomitant avec le blocage du port 25 pour les adresses non Free.(et c'est le cas pour la plupart des FAI).
Il y a une solution "POP before SMTP" mais ça ne fonctionnait pas dans le cadre hors "personne qui relève ses mails".


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#9 Le 18/10/2023, à 12:32

Auguste19

Re : Paramètres SMTP dans une config serveur Ubuntu

Merci à vous tous pour toutes ces pistes smile.

krodelabestiole a écrit :

ok là tu te créés une image docker : https://github.com/sleede/fab-manager/b … Dockerfile
le but c'est de containériser / distribuer ton application écrite en ruby ?
si c'est ça c'est à toi de récupérer et utiliser tes variables d’environnement au niveau du code.
j'ai l'impression que tu utilises ruby on rails je connais pas particulièrement ce framework, mais je pense que c'est juste au niveau de la config du client mail / smtp qu'il faut que tu récupères ces variables plutôt que définir un truc en dur.
apparemment c'est ce que tu fais :

Cette appli contient effectivement des fichiers en Ruby que j'utilise tel que je les ai trouvé dans l'installation de Github. C'est un langage que j'ignore en plus de Docker, ce qui complique encore ma tâche. 
Il y a en particulier une instruction donnée sur Github dans les commandes utiles pour changer les variables d'environnement que je n'arrive pas à décripter :

docker compose run --rm -e VAR1=xxx -e VAR2=xxx fabmanager bundle exec rails my:command

Je ne vois pas ce que my:command peut représenter dans cette ligne de code qui concerne docker compose d'une part, (et peut-être Ruby on rails d'autre part ?) :

krodelabestiole a écrit :

bref je pense pas que le problème soit lié à docker, mais à la connexion de ruby (on rails) avec le SMTP de free.

C'est bien possible, mais là je vais être honnête : ça dépasse complètement mes compétences sad
Donc, pour résumer : faut-il passer nécessairement par une ligne de commande du genre de celle-ci pour changer les fameuses variables d'environnement ? Pourquoi une écriture en dur dans le fichier ne ferait pas l'affaire ?

Hors ligne

#10 Le 18/10/2023, à 14:57

krodelabestiole

Re : Paramètres SMTP dans une config serveur Ubuntu

Auguste19 a écrit :
docker compose run --rm -e VAR1=xxx -e VAR2=xxx fabmanager bundle exec rails my:command

docker compose : la commande docker compose va chercher un fichier docker-compose.yml qui inclut le nom d'une ou plusieurs images (éventuellement à construire et) à lancer, la config des containers, des volumes, des variables d'environnement, etc. ça permet de décrire un environnement, et de toucher à ce qu'on appelle "l'infrastructure as code".
run --rm : on lance une fois un container précis défini dans ce fichier et on le détruit après usage (à la fin du processus lancé avec run).
-e : variables d'environnement qu'on passe au container
fabmanager : le nom du service qui correspond à une image (soit existante soit construite avec un Dockerfile) qu'on va lancer dans un container, tel que décrit dans docker-compose.yml
bundle : la commande qu'on va exécuter dans ce container (ça surcharge un éventuel autre processus défini par entrypoint ou cmd dans le docker-compose.yml ou dans l'image) qui permet de goupiller l’environnent ruby, gérer les dépendances, etc.
exec : la commande propre à bundle https://bundler.io/v2.4/man/bundle-exec.1.html
rails my:command : une commande propre à ruby on rails https://guides.rubyonrails.org/command_line.html


Auguste19 a écrit :

Pourquoi une écriture en dur dans le fichier ne ferait pas l'affaire ?

parce qu'avec docker, les données d'un container ne sont pas persistées. ce qui se passe dedans est oublié à chaque fermeture du container.

Hors ligne

#11 Le 18/10/2023, à 14:59

krodelabestiole

Re : Paramètres SMTP dans une config serveur Ubuntu

Auguste19 a écrit :

ce qui complique encore ma tâche.

qui est…?

Hors ligne

#12 Le 18/10/2023, à 15:35

bruno

Re : Paramètres SMTP dans une config serveur Ubuntu

Essaie avec ces paramètres :

DELIVERY_METHOD=smtp
SMTP_ADDRESS=smtp.free.fr
SMTP_PORT=465
SMTP_USER_NAME=mon_nom_de_compte@free.fr
SMTP_PASSWORD=mon_mdp
SMTP_AUTHENTICATION=login
SMTP_ENABLE_STARTTLS_AUTO=true
SMTP_OPENSSL_VERIFY_MODE=none
SMTP_TLS=true

#13 Le 18/10/2023, à 18:42

Auguste19

Re : Paramètres SMTP dans une config serveur Ubuntu

krodelabestiole a écrit :

rails my:command : une commande propre à ruby on rails https://guides.rubyonrails.org/command_line.html

Ok merci, j'avais vu ce site également, mais il me faudra pas mal de temps avant de comprendre ce qu'il faut écrire à la place de "my:command" ;
à moins que "my:command" ne soit justement LA commande ? Mais je ne la trouve dans aucun exemple, donc j'ai supposé qu'il fallait remplacer cette expression par UNE commande spécifique en rapport mon contexte.
Je cherche tout simplement la ligne qu'il faut écrire littéralement. Pour changer le port par exemple :

docker compose run --rm -e SMTP_PORT=465 fabmanager bundle exec rails...

(et ensuite ???)

Auguste19 a écrit :

Pourquoi une écriture en dur dans le fichier ne ferait pas l'affaire ?

krodelabestiole a écrit :
Auguste19 a écrit :

Pourquoi une écriture en dur dans le fichier ne ferait pas l'affaire ?

parce qu'avec docker, les données d'un container ne sont pas persistées. ce qui se passe dedans est oublié à chaque fermeture du container.

C'est très clair, mais si on fait "docker compose down" avant d'écrire dans le fichier en dur, le container disparait et l'image est reconstruite au redémarrage à partir du fichier en dur, non ?
En tout cas je vois bien que le fichier env n'est pas réinitialisé a posteriori et que mes modifications substistent après le reboot...

Hors ligne

#14 Le 18/10/2023, à 18:44

Auguste19

Re : Paramètres SMTP dans une config serveur Ubuntu

bruno a écrit :

Essaie avec ces paramètres :

DELIVERY_METHOD=smtp
SMTP_ADDRESS=smtp.free.fr
SMTP_PORT=465
SMTP_USER_NAME=mon_nom_de_compte@free.fr
SMTP_PASSWORD=mon_mdp
SMTP_AUTHENTICATION=login
SMTP_ENABLE_STARTTLS_AUTO=true
SMTP_OPENSSL_VERIFY_MODE=none
SMTP_TLS=true

Merci Bruno, je viens d'essayer (toujours en modifiant le fichier env "en dur" faute de mieux, et toujours pas de mail à l'arrivée roll

Hors ligne

#15 Le 18/10/2023, à 19:49

bruno

Re : Paramètres SMTP dans une config serveur Ubuntu

Il faut examiner les logs :

docker logs nom_du_conteneur

#16 Le 18/10/2023, à 20:14

krodelabestiole

Re : Paramètres SMTP dans une config serveur Ubuntu

my:command n'est pas une commande non.


Auguste19 a écrit :

Ok merci, j'avais vu ce site également, mais il me faudra pas mal de temps avant de comprendre ce qu'il faut écrire à la place de "my:command" ;

quelqu'un pourrait peut-être le savoir si on avait le début d'une idée de ce que tu veux faire !

là c'est un peu comme si quelqu'un ouvrait un sujet pour demander ce qu'il faut taper dans un terminal...

Dernière modification par krodelabestiole (Le 18/10/2023, à 20:14)

Hors ligne

#17 Le 18/10/2023, à 23:18

Auguste19

Re : Paramètres SMTP dans une config serveur Ubuntu

krodelabestiole a écrit :

my:command n'est pas une commande non.


Auguste19 a écrit :

Ok merci, j'avais vu ce site également, mais il me faudra pas mal de temps avant de comprendre ce qu'il faut écrire à la place de "my:command" ;

quelqu'un pourrait peut-être le savoir si on avait le début d'une idée de ce que tu veux faire !

là c'est un peu comme si quelqu'un ouvrait un sujet pour demander ce qu'il faut taper dans un terminal...

Je pensais avoir été clair pourtant : j'ai installé l'application Fabmanager sur un serveur Ubuntu (en référence plus haut). Tout fonctionne sauf l'envoi de mail par l'appli elle-même.
Il y a deux problèmes à traiter :
- D'une part je ne suis pas sûr des paramètres SMTP pour Free, merci beaucoup pour les réponses à ce sujet qui vont me permettre d'avancer.
- D'autre part pour changer ces paramètres il faut que je modifie les variables d'environnement, avec deux questions précises à ce sujet dans mon mon post de 19h42 que tu cites.

Hors ligne

#18 Le 19/10/2023, à 00:05

Auguste19

Re : Paramètres SMTP dans une config serveur Ubuntu

bruno a écrit :

Il faut examiner les logs :

docker logs nom_du_conteneur

Merci, je viens de tester cette commande intéressante. Voici les 5 conteneurs au démarrage :

Network fabmanager_default            Created          0.1s
 ✔ Container fabmanager-postgres-1       Started    0.2s
 ✔ Container fabmanager-redis-1          Started       0.2s
 ✔ Container fabmanager-elasticsearch-1  Started      0.2s
 ✔ Container fabmanager-fabmanager-1     Started     0.1s
 ✔ Container fabmanager-nginx-1          Started      0.1s

Les logs des conteneurs s'affichent mais je ne vois rien en rapport avec un serveur SMTP.
En revanche le log elasticsearch signale une mémoire insuffisante, il faut que je refasse l'installation avec une Swap convenable.

Hors ligne

#19 Le 19/10/2023, à 01:15

krodelabestiole

Re : Paramètres SMTP dans une config serveur Ubuntu

krodelabestiole a écrit :

rails my:command : une commande propre à ruby on rails https://guides.rubyonrails.org/command_line.html

c'est la ligne de commande de ruby on rails, pour gérer des tests unitaires, des modèles, des vues, des contrôleurs, la bdd... du boulot de dev, c'est pas avec ça que tu vas configurer l'envoi de mail...

vu que je pensais dans un premier temps que tu développais cette application, ça m'a fait insister dans ma fausse piste, déso !

c'est juste une question de config du fichier .env, oublie cette commande.
ceci dit free.fr ça risque d'être un peu particulier, leur service SMTP est pas forcément le meilleur choix, conditions strictes, limites en tous genres... mais techniquement ça devrait fonctionner.

Hors ligne

#20 Le 19/10/2023, à 01:33

krodelabestiole

Re : Paramètres SMTP dans une config serveur Ubuntu

Auguste19 a écrit :

Les logs des conteneurs s'affichent mais je ne vois rien en rapport avec un serveur SMTP.

avec docker compose les logs sont affichés par défaut en temps réel en retour de commande.
tu peux aussi lancer les service en mode détaché avec

docker compose up -d

et suivre les logs d'un service particulier avec

docker compose logs -f fabmanager

(par ex., ou autre nom de service)
regarde cette fenêtre quand tu essaies d'envoyer un mail.

Hors ligne

#21 Le 19/10/2023, à 10:56

Auguste19

Re : Paramètres SMTP dans une config serveur Ubuntu

krodelabestiole a écrit :

vu que je pensais dans un premier temps que tu développais cette application, ça m'a fait insister dans ma fausse piste, déso !

Pas de soucis, je ne suis qu'un modeste bricoleur qui essaie d'aider bénévolement une petit asso sympa en installant un logiciel de gestion Open source, lequel semble performant par ailleurs.

krodelabestiole a écrit :

ceci dit free.fr ça risque d'être un peu particulier, leur service SMTP est pas forcément le meilleur choix, conditions strictes, limites en tous genres... mais techniquement ça devrait fonctionner.

Ok, sinon j'ai un compte gmail, mais je crois que c'est particulier également de configurer le SMTP chez Gmail...

Hors ligne

#22 Le 19/10/2023, à 10:58

Auguste19

Re : Paramètres SMTP dans une config serveur Ubuntu

krodelabestiole a écrit :
Auguste19 a écrit :

Les logs des conteneurs s'affichent mais je ne vois rien en rapport avec un serveur SMTP.

avec docker compose les logs sont affichés par défaut en temps réel en retour de commande.
tu peux aussi lancer les service en mode détaché avec

docker compose up -d

et suivre les logs d'un service particulier avec

docker compose logs -f fabmanager

(par ex., ou autre nom de service)
regarde cette fenêtre quand tu essaies d'envoyer un mail.

Super, je vais explorer toutes ces pistes, merci !

Hors ligne

#23 Le 19/10/2023, à 15:01

krodelabestiole

Re : Paramètres SMTP dans une config serveur Ubuntu

Auguste19 a écrit :

Ok, sinon j'ai un compte gmail, mais je crois que c'est particulier également de configurer le SMTP chez Gmail...

un peu au dessus niveau technique mais carrément pire niveau confidentialité. Google s'en donnera à cœur joie pour compléter les profils de tous les correspondants à partir du contenu des messages envoyés.

si tu mets en place ce site, vous avez sans doute un nom de domaine associé. on a souvent une adresse email fournie par le registrar avec un nom de domaine... c'est le cas chez ovh et infomaniak (pas gandi, ils sont chers : 5€ min par mois )...
il y a aussi moyen de créer un email gratuit à vie chez infomaniak (voir aussi les sujets récurrents dans ma signature)

Hors ligne

#24 Le 19/10/2023, à 15:37

Auguste19

Re : Paramètres SMTP dans une config serveur Ubuntu

krodelabestiole a écrit :

si tu mets en place ce site, vous avez sans doute un nom de domaine associé. on a souvent une adresse email fournie par le registrar avec un nom de domaine...
il y a aussi moyen de créer un email gratuit à vie chez infomaniak (voir aussi les sujets récurrents dans ma signature)

Oui, merci pour le tuyau. Pour l'instant j'utilise gratuitement mon nom de domaine perso avec freeboxos.fr (pour la phase expérimentation à domicile)

Hors ligne

#25 Le 19/10/2023, à 15:52

krodelabestiole

Re : Paramètres SMTP dans une config serveur Ubuntu

ok. c'est une option.

tu peux aussi mettre tout en place directement avec les services de prod, ce serait peut-être plus simple (pour environ 10€ par an...) en particulier si tu n'es pas à l'aise avec les configurations.

pour tester il y a aussi toujours l'option mailhog (avec docker, ce sera le plus simple : https://kinsta.com/fr/blog/mailhog/#mai … er-compose).
en gros ça remplace un serveur smtp, un webmail, tout. tu le lances sur ta machine, tu configures ton app pour l'utiliser comme serveur SMTP, c'est hyper simple (y a zéro sécu), et tu consultes tes mails via l'interface web. tout reste local.
(un détail au sujet des docs comme celle-ci concernant docker compose. elles ne sont pas toujours à jour, il ne faut plus utiliser de - dans la commande :
docker-compose up -> docker compose up, le fichier docker-compose.yml ne change pas)

Dernière modification par krodelabestiole (Le 19/10/2023, à 15:57)

Hors ligne