Il fut un temps oú je cherchais un endroit oú poser mes questions IT qui me causent du chagrin ; Nicole m'a conseillé ce canal.
Cette question n'est pas liée au NNCR.
J'ai un souci re docker (je suis une toute débutante avec docker, donc...)
La question :
comment faire en sorte qu'une appli dockerisée puisse envoyer des emails ? (pas en recevoir, donc une connection avec un service smtp est suffisant)
l'appli n'est pas devéloppée par moi
la config docker-compose serait un plus
J'ai beaucoup cherché, sans succès : je suis certaine qu'une question aussi basique doit avoir une réponse simple.... Merci !
Je vais essayer de détailler le contexte et d'apporter des précisions :
j'ai une appli (DSW) qui est dockerisée ; elle est configurée par le fichier docker-compose.yml et application.yml
cette appli a besoin d'accéder à un serveur smtp : dans mon cas c'est sendmail qui est ici a daemon (sendmail est fonctionnel)
pour que l'appli parle à sendmail il me suffit de préciser le host dans le fichier de configuration
donc (nous avions déjà eu cette conversation) ici le host c'est localhost ; localhost qui est accessible par la gateway du docker network associé à l'appli (typiquement 172.17.0.1)
mais raté, je me retrouve avec
"[Mailer ] Failed to send email: Network.Socket.connect: <socket: 7>: does not exist (Connection refused)"
Ton serveur sendmail ecoute sur quel port et sur quel interface réseau ? (c'est probablement pas le même réseau que docker)
Pourquoi est-ce que tu as besoin d'un serveur sendmail sur le host en question ?
Par exemple il n'y a pas de serveur de mail sur ton pc personnel, et pourtant tu arrive a envoyer des mails, non ?
Peut-être que tu pourrais utiliser directement l'adresse du serveur smtp dans la configuration de ton application. (tu peux sans doute trouver l'adresse du serveur smtp dans la configuration de ton sendmail)
Bonjour,
Juste une précision. Dans tous les cas, si vous voulez envoyer des email vers l'extérieur, il faudra configurer un serveur SMTP (par exemple smtp.cnrs.fr), que ce soit au niveau de l'application ou dans la configuration du serveur sendmail (relay host).
(pardon pour la présa : comment preformater un bloc ?)
j'avais donc déjà essayé cela croyant avoir trouvé la réponse ... nope
pour répondre à David :
je ne veux pas configurer smtp.cnrs.fr en relay car cela demande une authentication.
Bon je n'y comprend pas grand chose ici, mais j'ai un autre service (php mail) qui utilise sendmail (sur 127.0.0.1:25) pour envoyer des mails avec from: mon adresse. --et qui fonctionne sans pbs.
Tu peux peut-être utiliser un autre relay que smtp.cnrs.fr. En fonction du réseau ou tu installe ton application, il y a de forte chance pour qu'il y ai un serveur smtp de disponible chez ton hébergeur.
L'envoie de mail, ce n'est pas simple, il y a pas mal de chose à faire en plus que juste installer un package comme sendmail.
Si tu n'utilise pas de relay smtp bien configuré, avec des champs dns spécifique et de l'authentification forte, et un firewall strict ...
Alors l'adresse ip de ton serveur va être très vite banni par les serveur mail avec lequel il est en contact...
Banni ca veux dire que les mail apparaissent même pas dans les spam, ca veux dire que les mail sont juste dropper.
Qui plus est ce bannissement aura probablement un impact aussi sur l'ensemble de la plage ip de l’hébergeur de ton serveur, qui sera flagguer comme spammeur.
Tout ca pour dire que c'est beaucoup de boulot de faire marcher un serveur mail sur le long terme !
Du coup je pense que tu devrais te poser une question : est-ce que tu veux que ton serveur soit un serveur mail ou un serveur applicatif ?
Mais a mon avis ce n'est pas une bonne pratique d'essayer de faire les deux au même endroit.
ps: pour formater les bloc c'est du markdown classique ``` > et autre fonctionne (a priori)
je ne comprends pas pourquoi je n'ai pas pu répliquer la situation d'une appli non-dockerisée qui transmet ces mails par sendmail (127.0.0.1:25) sans souci
j'ai lu des tonnes de pages sur les configurations des docker network etc... et de la manière de communiquer avec le host, mais visiblement, il y a quelque chose qui m'échappe
un cours docker me ferait le plus grand bien
Cela fait des jours que j'essaie de résoudre cela bouh...
Très bien : mais comment faire pour l'authentication sur smtp.cnrs.fr ?
c'est bien la seule manière de communiquer avec ?
Ce que je veux dire je ne veux pas mettre mes accès dans un fichier ?
Peut-être que vous avez des manières de faire.
D'autre part, pouquoi est-ce un risque sécuritaire ? bon ce n'est pas l'endroit ici peut-être d'en discuter...
C'est pas obligatoirement ce serveur la qu'il faut que tu utilise.
Il faut demander a ton hébergeur comment envoyer des mails. C'est a lui de fournir ce service.
Ton serveur est hebergé ou ? (Si c'est a l'ifb alors on a des serveurs mail)
Pas forcement, mais du coup ca dependra de l'hebergeur, qui devrait te dire quel methode utiliser.
Surtout pas tes credentials a toi. Il faut que ce soit des credentials spécifique pour ton applicatif.
D'un coté tout ce qui est capable d'envoyer des mails et la cible privilégié des robots 'hacker". Il y a énormément d'attaque sur ces serveurs et sur les logiciels utilisés, en permanence tout les jours. Vraiment beaucoup
D'un autre coté les gros fournisseur de mail n’hésite pas a bannir sans chercher a comprendre (en prétextant la lutte contre le spam et les méchants robots)
Et c'est très compliqué de regagner leur confiance, les procédures sont très longues et compliqué d'un point de vue administratif.
De plus les mails sont souvent plein de données personnels. (Par exemple si tu envoie un lien pour reset un mot de passe)
Donc du fait du caractère très sensible du contenu, et des attaques très fréquente sur ces services. Le mail a prendre au sérieux d'un point de vue sécurité.
Si tu veux à l'occasion on pourra en discuter de vive voix, ça sera plus facile pour se comprendre mutuellement.
J'ai l'air toute c.. voilà un exemple parfait de ne pas connaitre la bonne question à poser... I feel quite stupid to have wasted your time...
Et bien sûr, ce relay marche !
(je ne savais pas que cela existait --même si réflexion faite, c'est évident).