Projet

Général

Profil

Anomalie #2066

Le conteneur ne peut pas envoyer de mail

Ajouté par Emmanuel GARETTE (2) il y a plus de 12 ans. Mis à jour il y a plus de 11 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Début:
15/09/2011
Echéance:
% réalisé:

100%

Temps passé:
Distribution:
EOLE 2.3

Description

Il n'est pas possible d'envoyer des mails depuis le conteneur web (notamment depuis l'interface web).

Aujourd'hui exim est installé dans le conteneur web, il faut ajouter une dépendance sur ssmtp sur eole-web.

Modification du template 20_mail.xml (à l'époque container_only n'existait pas, donc on templatisait a chaque fois même si ce n'est pas nécessaire) :

--- /root/20_mail.xml    2011-09-15 22:35:33.826875570 +0200
+++ /usr/share/eole/creole/dicos/20_mail.xml    2011-09-15 22:37:13.504885423 +0200
@@ -12,7 +12,7 @@
         <file filelist='sympa' name='/usr/share/ead2/backend/config/actions/actions_mail.cfg' rm='True'/>
         <file filelist='sympa' name='/usr/share/eole/firewall/00_mail_sympa.fw' rm='True'/>
         <!-- configuration de ssmtp pour le mode conteneur -->
-        <file name='/etc/ssmtp/ssmtp.conf' mkdir='True'/>
+        <file name='/etc/ssmtp/ssmtp.conf' container_only='True'/>
         <file name='/etc/bacula/baculafichiers.d/mail.conf' source='bacula-mail.conf'/>
     </files>
     <containers>

Modification du template 20_web.xml :

--- /root/20_web.xml    2011-09-15 22:35:50.646862781 +0200
+++ /usr/share/eole/creole/dicos/20_web.xml    2011-09-15 22:51:32.906944264 +0200
@@ -18,6 +18,8 @@
             <!-- remonter des logs vers la maitre -->
             <file name='/etc/rsyslog.d/50-default.conf' source="50-default-conteneur.conf" container_only="True"/>
             <file filelist='ssoclient' name='/usr/share/php/configCAS/cas.inc.php' source='cas.inc.php.tmpl' mkdir='True'/>
+            <file name='/etc/ssmtp/ssmtp.conf' container_only='True'/>
+            <file name='/usr/share/eole/firewall/00_web.fw' container_only='True'/>
         </container>
     </containers>
 

Nouveau template 00_web_mail.fw :

%if %%is_defined('container_ip_mail')
allow_dest(interface='eth0', container='mail', port='25')
%else
%if %%tls_smtp == 'port 465'
allow_dest(interface='eth0', ip='%%passerelle_smtp', port='465')
%else
allow_dest(interface='eth0', ip='%%passerelle_smtp', port='25')
%end if
%end if

Cela doit fonctionner avec eole-mail et eole-ssmtp.


Demandes liées

Lié à eole-common - Anomalie #2094: Pas possible d'installer ssmtp dans un conteneur à gen_conteneurs Fermé 22/09/2011
Lié à eole-exim - Evolution #2179: Sortir la configuration exim pour généraliser sa configuration Fermé 10/10/2011
Lié à eole-exim - Evolution #1183: Essayer de gérer %%system_mail_from et %%system_mail_to avec exim Fermé 12/11/2010
Lié à ERA - Anomalie #2261: Nom de domaine dans 00_web_mail.fw Fermé 19/10/2011

Révisions associées

Révision 45fee882 (diff)
Ajouté par Joël Cuissinat il y a plus de 12 ans

corrections pour autoriser l'envoi de mails depuis le conteneur web (fixes #2066)

Révision 9a8920ba (diff)
Ajouté par Fabrice Barconnière il y a plus de 11 ans

tmpl/00_mail.fw : autoriser le conteneur reseau à sortir sur TCP/25 ou
TCP/465 si tls smtp activé vers passerelle smtp
fixes #2066 @10m

Historique

#1 Mis à jour par Emmanuel GARETTE (2) il y a plus de 12 ans

Il n'est pas possible de mettre un dépendance sur ssmtp à cause du mode non conteneur. Il faudrait peut être ajouter "container_only" dans la balise "package" d'un dictionnaire.

#2 Mis à jour par Emmanuel GARETTE (2) il y a plus de 12 ans

Bizarrement je n'ai pas mis le patch pour ssmtp.conf :

--- /root/distrib/ssmtp.conf    2011-08-17 15:32:28.000000000 +0200
+++ ssmtp.conf    2011-09-21 11:16:59.000000000 +0200
@@ -12,11 +12,15 @@
 #Mailhub
 # The host to send mail to, in the form host port | IP_addr port [: port].
 # The default port is 25.
+%if %%is_defined('container_ip_mail')
+Mailhub=%%container_ip_mail
+%else
 %if %%tls_smtp == 'port 465'
 Mailhub=%%passerelle_smtp:465
 %else
 Mailhub=%%passerelle_smtp
 %end if
+%end if

 #UseTLS
 # Specifies whether ssmtp uses TLS to talk to the SMTP server.

#3 Mis à jour par Joël Cuissinat il y a plus de 12 ans

  • Version cible mis à Mises à jour 2.3 - 02 RC

#5 Mis à jour par Joël Cuissinat il y a plus de 12 ans

  • Statut changé de Nouveau à Résolu
  • % réalisé changé de 0 à 100

Appliqué par commit commit:"45fee8820a75357230a1faf005ca36ad427452ca"

#6 Mis à jour par Joël Cuissinat il y a plus de 12 ans

  • % réalisé changé de 100 à 80

Pour moi, il reste le problème de comment on dit au conteneur web d'installer ssmtp OU mail-pkg (exim) !

#7 Mis à jour par Joël Cuissinat il y a plus de 12 ans

  • Version cible changé de Mises à jour 2.3 - 02 RC à Mises à jour 2.2.3 - 03 RC

#8 Mis à jour par Joël Cuissinat il y a plus de 12 ans

  • Version cible changé de Mises à jour 2.2.3 - 03 RC à Mises à jour 2.3 - 03 RC

#9 Mis à jour par Joël Cuissinat il y a plus de 12 ans

  • Statut changé de Résolu à En attente d'informations
  • Version cible changé de Mises à jour 2.3 - 03 RC à Mises à jour 2.3.4 RC
  • Distribution mis à EOLE 2.3

#10 Mis à jour par Joël Cuissinat il y a environ 12 ans

  • Projet changé de conf-scribe à eole-exim

#11 Mis à jour par Daniel Dehennin il y a environ 12 ans

Je propose que le paquet eole-exim soit installé par project:eole-common :
  • eole-common: Depends eole-exim pour installer les dicos/templates
  • eolebase-conteneur : Depends ssmtp-pkg|mail-pkg: pour installer le paquet ssmtp-pkg par défaut mais permettre son remplacement par exim-pkg dans le conteneur mail

Le projet eole-ssmtp devient donc inutile, il ne reste que son template à transvaser dans eole-exim et s’assurer qu’il sera installer dans tous les conteneurs.

#12 Mis à jour par Daniel Dehennin il y a environ 12 ans

eole-common doit aussi avoir une dépendance sur ssmtp-pkg|mail-pkg pour le mode non conteneur

#13 Mis à jour par Daniel Dehennin il y a environ 12 ans

  • Version cible changé de Mises à jour 2.3.4 RC à Mises à jour 2.3.5 RC

#14 Mis à jour par Bruno Boiget il y a presque 12 ans

2.3.5 RC

Pour tenter de résumer :

- ssmtp.conf est livré par eole-exim (port en dur) ou eole-ssmtp (template avec configuration du port) suivant les dépendances du module.
- le dictionnaire fourni par eole-web envoie ce template dans le conteneur web et met en place une règle vers le conteneur mail si nécessaire
- Il y a une dépendance sur eole-ssmtp | eole-mail dans eolebase-minimal

Le paquet ssmtp n'est pas installé dans le conteneur (seulement le fichier de conf)
A voir avec la configuration du serveur smtp de php.ini ? cf. demande #3610

#15 Mis à jour par Bruno Boiget il y a presque 12 ans

  • Version cible changé de Mises à jour 2.3.5 RC à Mises à jour 2.3.6 RC

#16 Mis à jour par Joël Cuissinat il y a plus de 11 ans

  • Version cible changé de Mises à jour 2.3.6 RC à Mises à jour 2.3.7 RC

J'ai réglé l'affaire uniquement pour le conteneur web en ajoutant la fameuse dépendance scribe-pkg:commit:37dd9074 uniquement dans web-pkg.

#17 Mis à jour par Joël Cuissinat il y a plus de 11 ans

  • Statut changé de En attente d'informations à Résolu
  • % réalisé changé de 80 à 100

#18 Mis à jour par Joël Cuissinat il y a plus de 11 ans

  • Statut changé de Résolu à À valider
  • % réalisé changé de 100 à 80

Mon fix semble correspondre au cas horus-conteneur (ie : eole-web sans eole-mail, ssmtp envoie directement le mail vers la passerelle académique).

Dans le cas AmonEcole (eole-web + eole-mail), les mails sont bien passés à Exim (nb : dans ce cadre les règles ajoutées ne sont pas utiles car les deux se retrouvent dans le groupe de conteneur reseau), mais c'est Exim (le conteneur mail), lui-même qui ne peut pas sortir !

Je propose donc d'ajouter les lignes suivantes dans 00_mail.fw :

# envoi des mails vers la passerelle SMTP
%if %%tls_smtp == 'port 465'
allow_dest(interface='eth0', ip='%%passerelle_smtp', port='465')
%else
allow_dest(interface='eth0', ip='%%passerelle_smtp', port='25')
%end if

#19 Mis à jour par Fabrice Barconnière il y a plus de 11 ans

  • Version cible changé de Mises à jour 2.3.7 RC à Mises à jour 2.3.7 Stable

#20 Mis à jour par Fabrice Barconnière il y a plus de 11 ans

  • Statut changé de À valider à Résolu
  • % réalisé changé de 80 à 100

#21 Mis à jour par Fabrice Barconnière il y a plus de 11 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF