[Dovecot] Case-insensitive "detail" mailboxes?

/dev/rob0 rob0 at gmx.co.uk
Sat Jul 27 16:42:09 EEST 2013

On Fri, Jul 26, 2013 at 10:04:22AM +0100, Darac Marjal wrote:
> On Thu, Jul 25, 2013 at 11:29:56AM -0500, /dev/rob0 wrote:
> > We're using sieve with LMTP. We want to have 
> > lda_mailbox_autocreate and lmtp_save_to_detail_mailbox. Is
> > there a way to make the "detail" case-insensitive? If so I
> > have not found it yet.
> > 
> > I suppose we could lowercase the input string for the SQL
> > userdb query, but that's not what is wanted. The idea being
> > that if a user makes a mailbox called "Test" is that
> > user+test at example.com and user+TEST at example.com should both
> > go to that "Test" mailbox. If it was lowercased, a mailbox
> > called "Test" would be ignored and "test" used.
> > 
> > With autocreate, this could be a problem if mail is
> > delivered to autocreated case-sensitive mailboxes that the
> > user won't see.
> > 
> > Hmmm, maybe a global sieve script?
> I use the following sieve snippet rather than
> lmtp_save_to_detail_mailbox:
>   if envelope :detail :regex "to" "(.+)" {
>       set :upperfirst :lower "detail" "${1}";
> 	  fileinto :create "Tagged/${detail}";
>       stop;
>   }

Aha! On further examination I found a similar example here:


I will need to tweak this a bit more, because we want to allow the 
user to create a mailbox as s/he wants, whether all CAPS, all 
lowercase, or Title Case (as our default setting would create a new 
folder if it wasn't found.) But you've surely set me on the right 
track here! Thank you!

> So, if the detail portion of the TO address exists, set a variable 
> "detail" to be the first-letter-uppercased version of that portion 
> (test -> Test, TEST -> Test and so on) and file the message into 
> "Tagged/Test", creating that if necessary.
  http://rob0.nodns4.us/ -- system administration and consulting
  Offlist GMX mail is seen only if "/dev/rob0" is in the Subject:

More information about the dovecot mailing list