Auto create & subscribe folder from Userdb [Was: Users with extra mailbox: namespace/mailbox in userdb lookup?]
MRob
mrobti at insiberia.net
Tue Mar 14 16:43:26 UTC 2017
On 2017-03-14 01:52, Aki Tuomi wrote:
> On 14.03.2017 05:57, MRob wrote:
>> On 2017-03-13 13:40, Aki Tuomi wrote:
>>> On 2017-03-13 19:31, MRob wrote:
>>>> On 2017-03-10 23:28, MRob wrote:
>>>>> On 2017-03-10 23:22, Christian Kivalo wrote:
>>>>>> Am 11. März 2017 08:04:28 MEZ schrieb MRob <mrobti at insiberia.net>:
>>>>>>>
>>>>>>>>> We have a need for some users to have an additional folder
>>>>>>>>> created
>>>>>>> and
>>>>>>>>> subscribed for them.
>>>>>>>>>
>>>>>>>>> Is is possible to return an override for the default "namespace
>>>>>>> inbox"
>>>>>>>>> containing the needed mailbox definitions in the userdb lookup
>>>>>>>>> for
>>>>>>>>> such users? If so, how would the userdb lookup result be
>>>>>>>>> formatted?
>>>>>>>>> Presumably as
>>>>>>>>
>>>>>>>> Yes, see here:
>>>>>>>>
>>>>>>>> http://wiki2.dovecot.org/UserDatabase/ExtraFields
>>>>>>>>
>>>>>>>> Each setting ist one "Extra Field"
>>>>>>>>
>>>>>>>>> just one long string, but how would the setting be named given
>>>>>>>>> there
>>>>>>>
>>>>>>>>> can't be a space in it? Can I replace the space with an
>>>>>>>>> underscore,
>>>>>>>>> e.g.
>>>>>>>>>
>>>>>>>>> userdb_namespace_inbox = '{ mailbox Drafts { auto=subscribe
>>>>>>>>> special_use = \Drafts } mailbox Trash { auto=subscribe
>>>>>>>>> special_use =
>>>>>>>
>>>>>>>>> \Trash } }'
>>>>>>>>
>>>>>>>> sort of:
>>>>>>>>
>>>>>>>> userdb_namespace/inbox/mailbox/Drafts/auto=subscribe
>>>>>>>>
>>>>>>>> see also:
>>>>>>>>
>>>>>>>> http://www.dovecot.org/list/dovecot/2016-February/103140.html
>>>>>>>
>>>>>>> Unfortunately, I'm having trouble with this task.
>>>>>>>
>>>>>>> Dovecot 2.2.27
>>>>>>>
>>>>>>> Trying to have an "Important" folder get created and subscribed
>>>>>>> for
>>>>>>> only
>>>>>>> some users. When I put this into my dovecot config file it works
>>>>>>> as
>>>>>>> needed (other folders omitted for brevity):
>>>>>>>
>>>>>>> namespace inbox {
>>>>>>> mailbox Trash {
>>>>>>> auto=subscribe
>>>>>>> special_use = \Trash
>>>>>>> }
>>>>>>> mailbox Important {
>>>>>>> auto=subscribe
>>>>>>> }
>>>>>>> }
>>>>>>>
>>>>>>> But I don't want to do it globally, so put it into the userdb
>>>>>>> lookup:
>>>>>>>
>>>>>>> SELECT .... 'subscribe' AS
>>>>>>> 'namespace/inbox/mailbox/Important/auto' ...
>>>>>>>
>>>>>>> WHERE ...
>>>>>>>
>>>>>>> I confirmed that the correct query is executing and I know it
>>>>>>> works
>>>>>>> because other userdb fields are populated correctly. But the
>>>>>>> folder
>>>>>>> does
>>>>>>> not get created. For passdb lookups:
>>>>>>>
>>>>>>> SELECT .... 'subscribe' AS
>>>>>>> 'userdb_namespace/inbox/mailbox/Important/auto' ... WHERE ...
>>>>>>>
>>>>>>> I'd appreciate help/tips.
>>>>>> Whats the output of doveadm user <username> ?
>>>>>
>>>>> Oh I did not know this doveadm command, thank you!
>>>>>
>>>>> Output included all my other userdb fields as well as this:
>>>>>
>>>>> namespace/inbox/mailbox/Important/auto subscribe
>>>>
>>>> Just a polite ping on this problem. Folder auto-creation isn't
>>>> working with folders specified as part of the userdb lookup. Help
>>>> appreciated.
>>>
>>> Can you change config to
>>>
>>> mail_debug=yes
>>>
>>> and provide logs for a single session?
>>
>> Sorry to return so much later. I can provide full logs, but it looks
>> like this is what you're looking for:
>>
>> Mar 14 01:26:24 mail dovecot: imap(user at example.com): Debug: Unknown
>> userdb setting:
>> plugin/namespace/inbox/mailbox/Important/auto=subscribe
>>
>> Is it the "plugin/" on front? As you see with my doveadm result above,
>> I don't think I caused that to be placed there. Any further guidance?
> userdb_namespace/inbox/mailbox=Important
> userdb_namespace/inbox/mailbox/Important/name=Important
> userdb_namespace/inbox/mailbox/Important/auto=create
Am I to understand that I'll need all three of these? It makes sense,
though the Important/name=Important is a bit awkward - wondering, is
this documented anywhere I may have missed?
> Also if you want to create multiple mailboxes, you can use
> mailbox=Important,SecondBox,SomeOtherBox and add settings for them. The
> important one is the 'name' setting.
Good tip, thank you.
More information about the dovecot
mailing list