dovecot-1.2: deliver: If -a parameter isn't given, fallback to E...

dovecot at dovecot.org dovecot at dovecot.org
Sat Dec 13 14:28:32 EET 2008


details:   http://hg.dovecot.org/dovecot-1.2/rev/19e05e1bcb5c
changeset: 8538:19e05e1bcb5c
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Dec 13 14:28:28 2008 +0200
description:
deliver: If -a parameter isn't given, fallback to Envelope-To: header and user at hostname.

diffstat:

1 file changed, 9 insertions(+), 2 deletions(-)
src/deliver/deliver.c |   11 +++++++++--

diffs (28 lines):

diff -r 1e913c30c1ed -r 19e05e1bcb5c src/deliver/deliver.c
--- a/src/deliver/deliver.c	Sat Dec 13 13:59:56 2008 +0200
+++ b/src/deliver/deliver.c	Sat Dec 13 14:28:28 2008 +0200
@@ -1002,8 +1002,6 @@ int main(int argc, char *argv[])
 		putenv_extra_fields(&extra_fields);
 		pool_unref(&userdb_pool);
 	}
-	if (destaddr == NULL)
-		destaddr = user;
 
 	/* Fix namespaces with empty locations */
 	for (i = 1;; i++) {
@@ -1108,6 +1106,15 @@ int main(int argc, char *argv[])
 	mail = mail_alloc(t, 0, headers_ctx);
 	mail_set_seq(mail, 1);
 
+	if (destaddr == NULL) {
+		destaddr = deliver_get_address(mail, "Envelope-To");
+		if (destaddr == NULL) {
+			destaddr = strchr(user, '@') == NULL ? user :
+				t_strconcat(user, "@",
+					    deliver_set->hostname, NULL);
+		}
+	}
+
 	storage = NULL;
 	default_mailbox_name = mailbox;
 	if (deliver_mail == NULL)


More information about the dovecot-cvs mailing list