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@example.com and user+TEST@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:
http://wiki2.dovecot.org/Pigeonhole/Sieve/Examples#Plus_Addressed_mail_filte...
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: