Project

General

Profile

Anomalie #2066

Le conteneur ne peut pas envoyer de mail

Added by Emmanuel GARETTE (2) over 11 years ago. Updated over 10 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
-
Category:
-
Start date:
09/15/2011
Due date:
% Done:

100%

Spent time:
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.


Related issues

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

Associated revisions

Revision 45fee882 (diff)
Added by Joël Cuissinat over 11 years ago

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

Revision 9a8920ba (diff)
Added by Fabrice Barconnière over 10 years ago

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

History

#1 Updated by Emmanuel GARETTE (2) over 11 years ago

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 Updated by Emmanuel GARETTE (2) over 11 years ago

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 Updated by Joël Cuissinat over 11 years ago

  • Target version set to Mises à jour 2.3 - 02 RC

#5 Updated by Joël Cuissinat over 11 years ago

  • Status changed from Nouveau to Résolu
  • % Done changed from 0 to 100

Appliqué par commit commit:"45fee8820a75357230a1faf005ca36ad427452ca"

#6 Updated by Joël Cuissinat over 11 years ago

  • % Done changed from 100 to 80

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

#7 Updated by Joël Cuissinat over 11 years ago

  • Target version changed from Mises à jour 2.3 - 02 RC to Mises à jour 2.2.3 - 03 RC

#8 Updated by Joël Cuissinat over 11 years ago

  • Target version changed from Mises à jour 2.2.3 - 03 RC to Mises à jour 2.3 - 03 RC

#9 Updated by Joël Cuissinat over 11 years ago

  • Status changed from Résolu to En attente d'informations
  • Target version changed from Mises à jour 2.3 - 03 RC to Mises à jour 2.3.4 RC
  • Distribution set to EOLE 2.3

#10 Updated by Joël Cuissinat over 11 years ago

  • Project changed from conf-scribe to eole-exim

#11 Updated by Daniel Dehennin about 11 years ago

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 Updated by Daniel Dehennin about 11 years ago

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

#13 Updated by Daniel Dehennin about 11 years ago

  • Target version changed from Mises à jour 2.3.4 RC to Mises à jour 2.3.5 RC

#14 Updated by Bruno Boiget almost 11 years ago

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 Updated by Bruno Boiget almost 11 years ago

  • Target version changed from Mises à jour 2.3.5 RC to Mises à jour 2.3.6 RC

#16 Updated by Joël Cuissinat almost 11 years ago

  • Target version changed from Mises à jour 2.3.6 RC to 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 Updated by Joël Cuissinat over 10 years ago

  • Status changed from En attente d'informations to Résolu
  • % Done changed from 80 to 100

#18 Updated by Joël Cuissinat over 10 years ago

  • Status changed from Résolu to À valider
  • % Done changed from 100 to 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 Updated by Fabrice Barconnière over 10 years ago

  • Target version changed from Mises à jour 2.3.7 RC to Mises à jour 2.3.7 Stable

#20 Updated by Fabrice Barconnière over 10 years ago

  • Status changed from À valider to Résolu
  • % Done changed from 80 to 100

#21 Updated by Fabrice Barconnière over 10 years ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF