diff --git a/core/admin/mailu/internal/views/postfix.py b/core/admin/mailu/internal/views/postfix.py index b2da80f2..c337c24e 100644 --- a/core/admin/mailu/internal/views/postfix.py +++ b/core/admin/mailu/internal/views/postfix.py @@ -35,11 +35,8 @@ def postfix_alias_map(alias): return flask.abort(404) -@internal.route("/postfix/spoofed/") -def postfix_spoofed(email): - return flask.abort(404) - - @internal.route("/postfix/transport/") def postfix_transport(email): - return flask.abort(404) + localpart, domain = email.split('@', 1) if '@' in email else (None, email) + relay = models.Relay.query.get(domain) or flask.abort(404) + return flask.jsonify("smtp:[{}]".format(relay.smtp)) diff --git a/core/postfix/conf/main.cf b/core/postfix/conf/main.cf index 1306457a..43a41fe7 100644 --- a/core/postfix/conf/main.cf +++ b/core/postfix/conf/main.cf @@ -62,8 +62,8 @@ virtual_mailbox_domains = ${podop}domain virtual_mailbox_maps = ${podop}mailbox # Mails are transported if required, then forwarded to Dovecot for delivery -# relay_domains = ${podop}transport -# transport_maps = ${podop}transport +relay_domains = ${podop}transport +transport_maps = ${podop}transport virtual_transport = lmtp:inet:{{ HOST_LMTP }} # In order to prevent Postfix from running DNS query, enforce the use of the diff --git a/core/postfix/start.py b/core/postfix/start.py index bb0e1f85..04d63456 100755 --- a/core/postfix/start.py +++ b/core/postfix/start.py @@ -17,7 +17,6 @@ def start_podop(): ("alias", "url", "http://admin/internal/postfix/alias/§"), ("domain", "url", "http://admin/internal/postfix/domain/§"), ("mailbox", "url", "http://admin/internal/postfix/mailbox/§"), - ("spoofed", "url", "http://admin/internal/postfix/spoofed/§"), ]) convert = lambda src, dst: open(dst, "w").write(jinja2.Template(open(src).read()).render(**os.environ))