From b172b0b1cd7e0e6fdb8e1f888962b55c22902fa3 Mon Sep 17 00:00:00 2001 From: fliu <10025-fliu@users.noreply.salsa.debian.org> Date: Tue, 10 Aug 2021 23:40:56 +0000 Subject: [PATCH] email: Local delivery: use full email address If the domain part was not provided, $myhostname will be used. In case $myhostname is not in $mydestinations, the email will be relayed. In case $myhostname is invalid, the email will be bounced. The next hop should always be LMTP (local: transport) and hence the `@localhost` --- plinth/modules/email_server/aliases/__init__.py | 3 ++- .../data/etc/postfix/freedombox-username-to-uid-number.cf | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/plinth/modules/email_server/aliases/__init__.py b/plinth/modules/email_server/aliases/__init__.py index 82de702b5..760ecb0cc 100644 --- a/plinth/modules/email_server/aliases/__init__.py +++ b/plinth/modules/email_server/aliases/__init__.py @@ -125,7 +125,8 @@ def schedule_hash_update(): alias = models.Alias(**row) key = alias.email_name.encode('ascii') + b'\0' if alias.enabled: - value = str(alias.uid_number).encode('ascii') + b'\0' + value = str(alias.uid_number).encode('ascii') + value += b'@localhost\0' else: value = b'/dev/null\0' db[key] = value diff --git a/plinth/modules/email_server/data/etc/postfix/freedombox-username-to-uid-number.cf b/plinth/modules/email_server/data/etc/postfix/freedombox-username-to-uid-number.cf index c8919becf..70a59bcee 100644 --- a/plinth/modules/email_server/data/etc/postfix/freedombox-username-to-uid-number.cf +++ b/plinth/modules/email_server/data/etc/postfix/freedombox-username-to-uid-number.cf @@ -7,3 +7,4 @@ server_host = ldap://127.0.0.1 search_base = dc=thisbox query_filter = (&(objectClass=posixAccount)(uid=%s)) result_attribute = uidNumber +result_format = %s@localhost