From 989e4d5db5bdb8ee4ea6ce53ac16868d8725e8ac Mon Sep 17 00:00:00 2001 From: Robert Meijers Date: Fri, 27 Dec 2019 21:11:50 +0100 Subject: [PATCH] Don't remove the address extension in postfix Currently when the mail address is looked up by Postfix (using the admin part) the address extension is removed. This is due to the address extension being removed to look up the user, and afterwards returning the users mail address. But by not returning the mail address including the address extension it also isn't part anymore in the LMTP communication to Dovecot. So Dovecot doesn't know about the extension, and in turn the address extension can't be used in Sieve mail filtering. This change fixes that by returning the original address by just concatinating the "localpart" and domain again when the user is found. Fixes #982 --- core/admin/mailu/models.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/admin/mailu/models.py b/core/admin/mailu/models.py index 95dc16a6..767c9798 100644 --- a/core/admin/mailu/models.py +++ b/core/admin/mailu/models.py @@ -277,12 +277,14 @@ class Email(object): if not user and localpart_stripped: user = User.query.get('{}@{}'.format(localpart_stripped, domain_name)) if user: + email = '{}@{}'.format(localpart, domain_name) + if user.forward_enabled: destination = user.forward_destination if user.forward_keep or ignore_forward_keep: - destination.append(user.email) + destination.append(email) else: - destination = [user.email] + destination = [email] return destination pure_alias = Alias.resolve(localpart, domain_name)