From 093115614e7a6066ca4e934f9c707ead31bfe828 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Diemer?= <stephane.diemer@ubicast.eu>
Date: Wed, 25 Oct 2017 14:13:13 +0200
Subject: [PATCH] Set email sender in MS and CM conf (refs #22789).

---
 2.Common_services/1.Postfix/0_setup.py            |  4 ++++
 5.MediaServer/1.Install_MediaServer/0_setup.sh    | 14 +++++++++++++-
 .../1.Install_CampusManager/0_setup.sh            | 15 +++++++++++++++
 3 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/2.Common_services/1.Postfix/0_setup.py b/2.Common_services/1.Postfix/0_setup.py
index 3d3d13f9..203f1452 100644
--- a/2.Common_services/1.Postfix/0_setup.py
+++ b/2.Common_services/1.Postfix/0_setup.py
@@ -40,6 +40,10 @@ def setup(interactive=True):
     if sender_domain:
         if sender_domain == 'ubicast.eu' and utils.get_conf('MS_SERVER_NAME', '') not in ('', 'mediaserver'):
             sender_domain = utils.get_conf('MS_SERVER_NAME')
+        if sender_domain == 'ubicast.eu' and utils.get_conf('CM_SERVER_NAME', '') not in ('', 'campusmanager'):
+            sender_domain = utils.get_conf('CM_SERVER_NAME')
+        if sender_domain == 'ubicast.eu' and utils.get_conf('MONITOR_SERVER_NAME', '') not in ('', 'monitor'):
+            sender_domain = utils.get_conf('MONITOR_SERVER_NAME')
         cmds.extend([
             'rm -f /etc/postfix/generic',
             'echo "root@localhost %s@%s" >> /etc/postfix/generic' % (hostname, sender_domain),
diff --git a/5.MediaServer/1.Install_MediaServer/0_setup.sh b/5.MediaServer/1.Install_MediaServer/0_setup.sh
index 1f6515e6..648998fc 100755
--- a/5.MediaServer/1.Install_MediaServer/0_setup.sh
+++ b/5.MediaServer/1.Install_MediaServer/0_setup.sh
@@ -1,8 +1,20 @@
 #!/bin/bash
 source /root/envsetup/global-conf.sh
 
-# Ms package install
+# MS package install
 DEBIAN_FRONTEND=noninteractive apt-get install -y python3-mediaserver
 
+# set sender address
+sender="${EMAIL_SENDER}"
+if [[ "${sender}" == "" || "${sender}" == "noreply@ubicast.eu" ]]; then
+	if [[ "${MS_SERVER_NAME}" =~ .*\..* ]]; then
+		sender="noreply@${MS_SERVER_NAME}"
+	fi
+fi
+if [[ "${sender}" != "" && "${sender}" != "noreply@ubicast.eu" ]]; then
+	echo "Using ${sender} as sender address for MS."
+	sed -i "s?[# ]*DEFAULT_FROM_EMAIL.*?DEFAULT_FROM_EMAIL = '${sender}'?" /etc/mediaserver/msconf.py
+fi
+
 # MS instance
 msinstaller.py msuser
diff --git a/6.CampusManager/1.Install_CampusManager/0_setup.sh b/6.CampusManager/1.Install_CampusManager/0_setup.sh
index 100d90dd..045a7f34 100755
--- a/6.CampusManager/1.Install_CampusManager/0_setup.sh
+++ b/6.CampusManager/1.Install_CampusManager/0_setup.sh
@@ -7,6 +7,21 @@ if ( apt-cache madison campus-manager | grep "campus-manager | " ); then
 	# configure nginx
 	sed -i "s@server_name skyreach;@server_name ${CM_SERVER_NAME};@" /etc/nginx/sites-available/skyreach.conf
 	service nginx restart
+	# set sender address
+	sender="${EMAIL_SENDER}"
+	if [[ "${sender}" == "" || "${sender}" == "noreply@ubicast.eu" ]]; then
+		if [[ "${CM_SERVER_NAME}" =~ .*\..* ]]; then
+			sender="noreply@${CM_SERVER_NAME}"
+		fi
+	fi
+	if [[ "${sender}" != "" && "${sender}" != "noreply@ubicast.eu" ]]; then
+		echo "Using ${sender} as sender address for CM."
+		if grep "DEFAULT_FROM_EMAIL" /home/skyreach/htdocs/skyreach_site/settings_override.py >/dev/null; then
+			sed -i "s?[# ]*DEFAULT_FROM_EMAIL.*?DEFAULT_FROM_EMAIL = '${sender}'?" /home/skyreach/htdocs/skyreach_site/settings_override.py
+		else
+			echo "DEFAULT_FROM_EMAIL = '${sender}'" >> /home/skyreach/htdocs/skyreach_site/settings_override.py
+		fi
+	fi
 else
 	echo "${YELLOW}The campus-manager package is not available in APT repositories, install skipped.${NC}"
 fi
-- 
GitLab