diff --git a/management/daemon.py b/management/daemon.py index 827fe70b..23a8eb41 100755 --- a/management/daemon.py +++ b/management/daemon.py @@ -534,20 +534,19 @@ def smtp_relay_get(): @app.route('/system/smtp/relay', methods=["POST"]) @authorized_personnel_only def smtp_relay_set(): - import re from editconf import edit_conf config = utils.load_settings(env) newconf = request.form try: - # Write on daemon env + # Write on daemon settings config["SMTP_RELAY_ENABLED"] = (newconf.get("enabled") == "true") config["SMTP_RELAY_HOST"] = newconf.get("host") config["SMTP_RELAY_AUTH"] = (newconf.get("auth_enabled") == "true") config["SMTP_RELAY_USER"] = newconf.get("user") utils.write_settings(config, env) - # Write on Postfix config + # Write on Postfix configs edit_conf("/etc/postfix/main.cf", [ - "relay_host=" + f"[{config['SMTP_RELAY_HOST']}]:587" if config["SMTP_RELAY_ENABLED"] else "", + "relayhost=" + f"[{config['SMTP_RELAY_HOST']}]:587" if config["SMTP_RELAY_ENABLED"] else "", "smtp_sasl_auth_enable=" + "yes" if config["SMTP_RELAY_AUTH"] else "no", "smtp_sasl_security_options=" + "noanonymous" if config["SMTP_RELAY_AUTH"] else "anonymous", "smtp_sasl_tls_security_options=" + "noanonymous" if config["SMTP_RELAY_AUTH"] else "anonymous" @@ -555,7 +554,7 @@ def smtp_relay_set(): if config["SMTP_RELAY_AUTH"]: # Edit the sasl password with open("/etc/postfix/sasl_passwd", "w") as f: - f.write(f"[{config['SMTP_RELAY_HOST']}]:587 {config['SMTP_RELAY_USER']}:{newconf.get('pass')}") + f.write(f"[{config['SMTP_RELAY_HOST']}]:587 {config['SMTP_RELAY_USER']}:{newconf.get('key')}\n") utils.shell("check_output", ["/usr/bin/chmod", "600", "/etc/postfix/sasl_passwd"], capture_stderr=True) utils.shell("check_output", ["/usr/sbin/postmap", "/etc/postfix/sasl_passwd"], capture_stderr=True) # Restart Postfix