putenv_extra_fields(&extra_fields);
pool_unref(&userdb_pool);
}
- if (destaddr == NULL)
- destaddr = user;
/* Fix namespaces with empty locations */
for (i = 1;; i++) {
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)