diff --git a/2.Common_services/1.Postfix/0_setup.py b/2.Common_services/1.Postfix/0_setup.py index 525594a288630de7f996dde5391920b36d3f7c61..f3b55c61e00e2ebd0a91672eb9fc2fc9cc4c4346 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', ])