From 6b78be6f9b4a3398e15070a05487d23c01469e58 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Diemer?= <stephane.diemer@ubicast.eu>
Date: Wed, 19 Jun 2019 17:39:40 +0200
Subject: [PATCH] Use EMAIL_SENDER value as system default sender | refs #29181

---
 2.Common_services/1.Postfix/0_setup.py | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/2.Common_services/1.Postfix/0_setup.py b/2.Common_services/1.Postfix/0_setup.py
index 525594a2..f3b55c61 100644
--- a/2.Common_services/1.Postfix/0_setup.py
+++ b/2.Common_services/1.Postfix/0_setup.py
@@ -35,21 +35,23 @@ def setup(interactive=True):
         'newaliases',
     ])
     # Configure mail sender
-    sender = utils.get_conf('EMAIL_SENDER', '')
-    sender_domain = sender.split('@')[-1]
-    if not sender_domain:
+    sender = utils.get_conf('EMAIL_SENDER', '').strip(' \t@')
+    if sender.count('@') != 1:
+        utils.log('Invalid sender address: "%s" (one "@" must be in the sender address).')
+        sender = None
+    if not sender and hostname:
         if utils.get_conf('MS_SERVER_NAME', '') not in ('', 'mediaserver'):
-            sender_domain = utils.get_conf('MS_SERVER_NAME')
+            sender = '%s@%s' % (hostname, utils.get_conf('MS_SERVER_NAME'))
         elif utils.get_conf('CM_SERVER_NAME', '') not in ('', 'mirismanager'):
-            sender_domain = utils.get_conf('CM_SERVER_NAME')
+            sender = '%s@%s' % (hostname, utils.get_conf('CM_SERVER_NAME'))
         elif utils.get_conf('MONITOR_SERVER_NAME', '') not in ('', 'monitor'):
-            sender_domain = utils.get_conf('MONITOR_SERVER_NAME')
-    if sender_domain:
+            sender = '%s@%s' % (hostname, utils.get_conf('MONITOR_SERVER_NAME'))
+    if sender:
         cmds.extend([
             'rm -f /etc/postfix/generic',
-            'echo "root@localhost %s@%s" >> /etc/postfix/generic' % (hostname, sender_domain),
-            'echo "root@%s %s@%s" >> /etc/postfix/generic' % (hostname, hostname, sender_domain),
-            'echo "@%s %s@%s" >> /etc/postfix/generic' % (hostname, hostname, sender_domain),
+            'echo "root@localhost %s" >> /etc/postfix/generic' % sender,
+            'echo "root@%s %s" >> /etc/postfix/generic' % (hostname, sender),
+            'echo "@%s %s" >> /etc/postfix/generic' % (hostname, sender),
             'postmap hash:/etc/postfix/generic',
             'sed -i "s/#smtp_generic_maps/smtp_generic_maps/" /etc/postfix/main.cf',
         ])
-- 
GitLab