1
0
mirror of https://github.com/mail-in-a-box/mailinabox.git synced 2024-12-25 07:47:05 +00:00

relayhost, not relay_host, and key, not pass

This commit is contained in:
David Duque 2020-04-18 11:56:30 +01:00
parent da7fe68daa
commit ad3a78a300
No known key found for this signature in database
GPG Key ID: 2F327738A3C0AE3A

View File

@ -534,20 +534,19 @@ def smtp_relay_get():
@app.route('/system/smtp/relay', methods=["POST"]) @app.route('/system/smtp/relay', methods=["POST"])
@authorized_personnel_only @authorized_personnel_only
def smtp_relay_set(): def smtp_relay_set():
import re
from editconf import edit_conf from editconf import edit_conf
config = utils.load_settings(env) config = utils.load_settings(env)
newconf = request.form newconf = request.form
try: try:
# Write on daemon env # Write on daemon settings
config["SMTP_RELAY_ENABLED"] = (newconf.get("enabled") == "true") config["SMTP_RELAY_ENABLED"] = (newconf.get("enabled") == "true")
config["SMTP_RELAY_HOST"] = newconf.get("host") config["SMTP_RELAY_HOST"] = newconf.get("host")
config["SMTP_RELAY_AUTH"] = (newconf.get("auth_enabled") == "true") config["SMTP_RELAY_AUTH"] = (newconf.get("auth_enabled") == "true")
config["SMTP_RELAY_USER"] = newconf.get("user") config["SMTP_RELAY_USER"] = newconf.get("user")
utils.write_settings(config, env) utils.write_settings(config, env)
# Write on Postfix config # Write on Postfix configs
edit_conf("/etc/postfix/main.cf", [ 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_auth_enable=" + "yes" if config["SMTP_RELAY_AUTH"] else "no",
"smtp_sasl_security_options=" + "noanonymous" if config["SMTP_RELAY_AUTH"] else "anonymous", "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" "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"]: if config["SMTP_RELAY_AUTH"]:
# Edit the sasl password # Edit the sasl password
with open("/etc/postfix/sasl_passwd", "w") as f: 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/bin/chmod", "600", "/etc/postfix/sasl_passwd"], capture_stderr=True)
utils.shell("check_output", ["/usr/sbin/postmap", "/etc/postfix/sasl_passwd"], capture_stderr=True) utils.shell("check_output", ["/usr/sbin/postmap", "/etc/postfix/sasl_passwd"], capture_stderr=True)
# Restart Postfix # Restart Postfix