To make it work the current way, is simple.
--- a/src/lmtp/commands.c 2013-02-05 18:31:36.000000000 -0500
+++ b/src/lmtp/commands.c 2014-01-28 18:15:01.011677816 -0500
@@ -387,7 +387,7 @@
return;
domain = strchr(address, '@');
- p = strstr(address, client->unexpanded_lda_set->recipient_delimiter);
+ p = strpbrk(address, client->unexpanded_lda_set->recipient_delimiter);
if (p != NULL && (domain == NULL || p < domain)) {
/* user+detail at domain */
*username_r = t_strdup_until(*username_r, p);
I would love for it though, to lookup and see if an mailbox exists
with the delim first, then if it doesn't lookup just the username part.
Quoting Andrew Ray <andrew at freedomlives.net>:
> Hi,
>
> It would be nice if the recipient_delimiter configuration option
> supported multiple recipient delimiters as Postfix now does.
> e.g. now if I set: recipient_delimiter = +- in Postfix, then
> test-extension at sample.com and test+extension at sample.com are both
> recognized.
> But if I set: recipient_delimiter = +- in Dovecot, neither of the
> above are recognized and instead test+-extension at sample.com is valid.
>
> Well, presently this feature isn't that important to me, but I
> imagine it could be a source of confusion for people who are
> migrating from say qmail to postfix (as I am doing) and notice
> Postfix's cool ability to support both types of delimiters and
> assume Dovecot will as well (as I did).
>
> Thanks,
> Andrew Ray
>
> --
>
> Andrew Ray
> +1 404-418-5443
> +421 (0) 917 832 253
> http://guns.freedomlives.net/