[Dovecot] Disabling plus sign extension delimiter in lmtp listener (or userdb)
Hello
We have migrated our email services from a server, which did not support IMAP and folders, therefore threated the plus sign + as a normal character in a part of an email address.
Our new server delivers the emails via lmtp to dovecot.
the few users which got a + character in the username first could not log-in (fixed by adding + to auth_username_chars). Now the next problem turn out to be, that the lmtp listener stripps everything after the + sign.
The MTA correctly sends the whole email address, so it's not the MTA's fault. It can easily be tested by connecting to the dovecot LMTP listener IP address by telnet:
220 grautvornix.imp.ch Dovecot ready. mail from:<nobody> 250 2.1.0 OK rcpt to:b+enoit@iscan.ch 550 5.1.1 b+enoit@iscan.ch User doesn't exist: b@iscan.ch
I could not find any configuration parameters for the lmtp listener or userdb service to tell it what to do with the + sign. Did I miss something, or is it impossible to have the + sign accepted as a normal character in an email address?
Kind regards -Benoit-
Le 30 mai 2014 à 16:27, Benoit Panizzon a écrit :
Hello
[...]
220 grautvornix.imp.ch Dovecot ready. mail from:<nobody> 250 2.1.0 OK rcpt to:b+enoit@iscan.ch 550 5.1.1 b+enoit@iscan.ch User doesn't exist: b@iscan.ch
I could not find any configuration parameters for the lmtp listener or userdb service to tell it what to do with the + sign. Did I miss something, or is it impossible to have the + sign accepted as a normal character in an email address?
Hello Benoit,
This is probably related to the recipient_delimiter setting, which defaults to '+'.
HTH, Axel
Hi Axel
This is probably related to the recipient_delimiter setting, which defaults to '+'.
Where is there such a setting in the dovecot config itself?
The postfix MTA knows of such a delimiter, but the MTA is not involved as I connect directly to the dovecot LMTP service.
Or does dovecot somehow try to read the postfix config? That would not make any sense.
I suppose the dovecot LMTP or userdb lookup code has some hardcoded 'feature' threating + as a delimiter for userdb lookups, thus fails if + is not used as such a delimiter.
-Benoit-
- Benoit Panizzon benoit.panizzon@imp.ch 2014.06.01 17:36:
Where is there such a setting in the dovecot config itself?
$ doveconf -a | grep recipient lda_original_recipient_header = recipient_delimiter = +
$ grep delimiter 15-lda.conf #recipient_delimiter = +
Am Sunday, 1. June 2014, 17.58:02 schrieb Thomas Leuxner:
- Benoit Panizzon benoit.panizzon@imp.ch 2014.06.01 17:36:
Where is there such a setting in the dovecot config itself?
$ doveconf -a | grep recipient lda_original_recipient_header = recipient_delimiter = +
$ grep delimiter 15-lda.conf #recipient_delimiter = +
Thank you!
-Benoit-
Le 1 juin 2014 à 17:36, Benoit Panizzon a écrit :
Hi Axel
This is probably related to the recipient_delimiter setting, which defaults to '+'.
Where is there such a setting in the dovecot config itself?
This is a LDA-related setting (see for example share/doc/dovecot/example-config/conf.d/15-lda.conf for some details).
Its default value is '+', as shown by the output of:
doveconf -d recipient_delimiter
You could put
recipient_delimiter =
into dovecot.conf so as to disable the handling of such a delimiter.
HTH, Axel
Am Sunday, 1. June 2014, 18.14:54 schrieb Axel Luttgens:
Le 1 juin 2014 à 17:36, Benoit Panizzon a écrit :
Hi Axel
This is probably related to the recipient_delimiter setting, which defaults to '+'.
Where is there such a setting in the dovecot config itself?
This is a LDA-related setting (see for example share/doc/dovecot/example-config/conf.d/15-lda.conf for some details).
Its default value is '+', as shown by the output of:
doveconf -d recipient_delimiter
You could put
recipient_delimiter =
into dovecot.conf so as to disable the handling of such a delimiter.
Drat! I think that option was removed by a colleague to disable the delimiter, instead of setting it to an empty value.
Thank you, will test but I'm pretty sure that's the solution. The Dovecot Wiki is not very clear as for me it looked like to be only postfix related.
-Benoit-
participants (3)
-
Axel Luttgens
-
Benoit Panizzon
-
Thomas Leuxner