1

I asked this to the dovecot list to no avail, so will try here too. Please forgive the crosspost.

I have a client running Dovecot-Postfix on Debian Squeeze. I'm using Dovecot from the Squeeze repository.

# dovecot --version 1.2.15 

I've implemented a central mail_location and am using one vmail user, as I thought this would be be the best approach for when it came time to implement Shared and Public Mailboxes.

# dovecot -n # 1.2.15: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-5-xen-686 i686 Debian 6.0.7 ext3 log_timestamp: %Y-%m-%d %H:%M:%S protocols: imap imaps pop3s managesieve listen(default): 127.0.0.1:143 listen(imap): 127.0.0.1:143 listen(pop3): 127.0.0.1:110 listen(managesieve): * ssl_listen(default): *:993 ssl_listen(imap): *:993 ssl_listen(pop3): *:995 ssl_listen(managesieve): ssl_ca_file: /etc/ssl/certs/RapidSSL_CA_bundle.pem ssl_cert_file: /etc/ssl/certs/mail.example.com.2013.chain.pem ssl_key_file: /etc/ssl/private/example.2013.key login_dir: /var/run/dovecot/login login_executable(default): /usr/lib/dovecot/imap-login login_executable(imap): /usr/lib/dovecot/imap-login login_executable(pop3): /usr/lib/dovecot/pop3-login login_executable(managesieve): /usr/lib/dovecot/managesieve-login mail_max_userip_connections(default): 40 mail_max_userip_connections(imap): 40 mail_max_userip_connections(pop3): 10 mail_max_userip_connections(managesieve): 10 mail_privileged_group: mail mail_uid: vmail mail_gid: vmail mail_location: maildir:/var/spool/dovecot/%d/%u mbox_write_locks: fcntl dotlock mail_executable(default): /usr/lib/dovecot/imap mail_executable(imap): /usr/lib/dovecot/imap mail_executable(pop3): /usr/lib/dovecot/pop3 mail_executable(managesieve): /usr/lib/dovecot/managesieve mail_plugins(default): quota imap_quota mail_plugins(imap): quota imap_quota mail_plugins(pop3): mail_plugins(managesieve): mail_plugin_dir(default): /usr/lib/dovecot/modules/imap mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3 mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve namespace: type: private separator: / inbox: yes list: yes subscriptions: yes lda: postmaster_address: [email protected] mail_plugins: sieve quota log_path: /var/log/dovecot-deliver.log info_log_path: /var/log/dovecot-deliver.log auth default: mechanisms: plain login passdb: driver: ldap args: /etc/dovecot/dovecot-ldap.conf userdb: driver: ldap args: /etc/dovecot/dovecot-ldap-userdb.conf socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vmail group: vmail plugin: quota: maildir:User quota_rule: *:storage=1200M quota_rule2: Deleted Messages:storage=10%% quota_rule3: Deleted Items:storage=10%% quota_rule4: Trash:storage=10%% sieve: /var/spool/sieve/%d/%u/.dovecot.sieve sieve_dir: /var/spool/sieve/%d/%u 

All of the mail users are LDAP users only (not local UNIX users - not using nsswitch). dovecot-ldap-userdb.conf is a symbolic link to dovecot-ldap.conf

# grep -v '^ *\(#.*\)\?$' /etc/dovecot/dovecot-ldap.conf uris = ldaps://mail.example.com/ dn = uid=mail,ou=Services,dc=example,dc=com dnpass = ****************** tls_require_cert = hard auth_bind = yes base = ou=People,dc=example,dc=com user_attrs = quota=quota_rule=*:storage=%$M user_filter = (&(objectClass=posixAccount)(mail=%u)) pass_attrs = uid=mail,userPassword=password pass_filter = (&(objectClass=posixAccount)(mail=%u)) 

Now, mail addressed to [email protected] and [email protected] correctly gets delivered to the correct mail location of /var/spool/dovecot/example.com/user, but the problem occurs when the user creates their email account in an IMAP client with uppercase characters in their username, e.g. [email protected]. This creates a new directory at /var/spool/dovecot/exaMPLE.com/user, which never receives any mail. Is it possible to ignore the case the user enters in their mail client and always land them at the lowercase mail directory? Where would this be done?

1 Answer 1

1

You are using a very old version of Dovecot, almost three years out of date. I suggest you upgrade to a newer version, 2.2.5 is current. There have been made countless improvements and fixes from which your setup will surely profit.

That said, you should set auth_username_format = %Lu in dovecot.conf so that Dovecot translates the username to lower case before doing a lookup. This will normalize the usernames to lower case, no matter what the user sets in their mail client.

NB: lower-casing usernames is the default behaviour as of Dovecot 2.1.x.

1
  • Many thanks. I have traditionally tried to stick with what was approved by Debian. While there were features in 2.x that I wanted to use, I wasn't comfortable with the risk of using an unmaintained package. Is that not a wise approach? Commented Aug 30, 2013 at 5:14

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.