Questions about SPECIAL-USE IMAP extension

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Questions about SPECIAL-USE IMAP extension

Joseph Tam-2

I'd like to configure my dovecot service to use the IMAP SPECIAL-USE
extension, but have a few questions for those who have used them, or
are knowledgable about its use.  Using this configuration as an example,

  namespace {
  ...
  mailbox xxx {
  special_use = \Sent
  }
  }

Q1) Am I correct that mail client that don't understand SPECIAL-USE
extentions will behave the same way with repect to outgoing mailbox
storage?

Q2) Will SPECIAL-USE enabled mail clients switch the mailbox used for
outgoing mail from whatever it was using (e.g. "Sent Mail") to the
(new) special-use mailbox "xxx"?

Q3) Will SPECIAL-USE enabled mail clients connecting for the first
time use "xxx" for outgoing mail, auto-creating it if necessary?
Or will "xxx" be used only if the user does not manually configure
a mailbox for this purpose?

Q4) If I have an additional configuration

  mailbox yyy {
  special_use = \Sent
  }

how does it affect Q2, Q3?

Thanks to any who can provide clarity on this.

Joseph Tam <[hidden email]>
Reply | Threaded
Open this post in threaded view
|

Re: Questions about SPECIAL-USE IMAP extension

Steffen Kaiser-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thu, 11 Jan 2018, Joseph Tam wrote:

> I'd like to configure my dovecot service to use the IMAP SPECIAL-USE

well, in my experience SPECIAL-USE is just a suggestions to clients. Check
RFC 6154 for MUSTs, you'll find only few. Hence, how the client (or the
server) behaves in a special case is implementor-defined.

I do expect that any client supporting SPECIAL-USE honors the server
setting (first time it connects to the server or everytime, but at least
once) and creates the mailboxes it uses itself.

Otherwise, Dovecot can autocreate the mailboxes regardless of its use:
https://wiki2.dovecot.org/MailboxSettings

- --
Steffen Kaiser
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEVAwUBWlhV0cQnQQNheMxiAQKgMggAweFTjdisGCIV1anbAJ44GK/dzSBn5Xp3
UUednPv/DwxwOiXBXexY0FNgOrNco7HKU/I62ibHgnLAHvSnJwBFV+l6iIHe4Rwm
lM0XxK4OVDNIA8urYsEHTEEiVHvodmnIYQLPczO6VVPIOPWviIO4UQkN7PZRAjev
57UM1dvAfx7VaYfKXLVlVMjs+oJbt6XABzs5F0SJAtesxUuISvJwfaY4D/fgHRQY
usW7+rfTuMKyW51+iMy86o2N3q+v1Qv9RNJPKfUMfdQWEQTjyr7o30HCK4GVf/62
68EKbHxhl0haK+0M9cDK17KWZXaWMBWTJzAANRHUFAHPbY9AidHgNw==
=DYph
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: Questions about SPECIAL-USE IMAP extension

Tanstaafl
On Fri Jan 12 2018 01:29:37 GMT-0500 (Eastern Standard Time), Steffen
Kaiser <[hidden email]> wrote:
> On Thu, 11 Jan 2018, Joseph Tam wrote:
>> I'd like to configure my dovecot service to use the IMAP SPECIAL-USE

> well, in my experience SPECIAL-USE is just a suggestions to clients. Check
> RFC 6154 for MUSTs, you'll find only few. Hence, how the client (or the
> server) behaves in a special case is implementor-defined.
>
> I do expect that any client supporting SPECIAL-USE honors the server
> setting (first time it connects to the server or everytime, but at least
> once) and creates the mailboxes it uses itself.
>
> Otherwise, Dovecot can autocreate the mailboxes regardless of its use:
> https://wiki2.dovecot.org/MailboxSettings

There was a similar discussion about this on list some time ago, about
whether or not Dovecot could utilize special use 'aliases' that your
clients may want to use by default, and Dovecot would automatically map
those requests to a single mailbox.

E.g.:

Outlook clients would see/use 'Sent Items'

Thunderbird would see/use 'Sent'

But both would be mapped to a single mailbox 'Sent' (or whatever you had
defined as the actual mailbox).

Personally I would love to see this implemented.
Reply | Threaded
Open this post in threaded view
|

Re: Questions about SPECIAL-USE IMAP extension

Pedro Ribeiro-9
Is this what you are looking for?

https://wiki2.dovecot.org/Plugins/MailboxAlias

It seems already be implemented...

regards.


On 2018/01/12 14:25, Tanstaafl wrote:

> On Fri Jan 12 2018 01:29:37 GMT-0500 (Eastern Standard Time), Steffen
> Kaiser <[hidden email]> wrote:
>> On Thu, 11 Jan 2018, Joseph Tam wrote:
>>> I'd like to configure my dovecot service to use the IMAP SPECIAL-USE
>> well, in my experience SPECIAL-USE is just a suggestions to clients. Check
>> RFC 6154 for MUSTs, you'll find only few. Hence, how the client (or the
>> server) behaves in a special case is implementor-defined.
>>
>> I do expect that any client supporting SPECIAL-USE honors the server
>> setting (first time it connects to the server or everytime, but at least
>> once) and creates the mailboxes it uses itself.
>>
>> Otherwise, Dovecot can autocreate the mailboxes regardless of its use:
>> https://wiki2.dovecot.org/MailboxSettings
> There was a similar discussion about this on list some time ago, about
> whether or not Dovecot could utilize special use 'aliases' that your
> clients may want to use by default, and Dovecot would automatically map
> those requests to a single mailbox.
>
> E.g.:
>
> Outlook clients would see/use 'Sent Items'
>
> Thunderbird would see/use 'Sent'
>
> But both would be mapped to a single mailbox 'Sent' (or whatever you had
> defined as the actual mailbox).
>
> Personally I would love to see this implemented.

--
Best regards,

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Pedro Ribeiro
IPLNet, Redes de dados e comunicações
Departamento de Sistemas de Informação e Comunicações
Instituto Politécnico de Lisboa
Telefone: +351 210 464 701
VoIP: sip:[hidden email]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Reply | Threaded
Open this post in threaded view
|

Re: Questions about SPECIAL-USE IMAP extension

Tanstaafl
On Fri Jan 12 2018 15:58:06 GMT-0500 (Eastern Standard Time), Pedro
Ribeiro <[hidden email]> wrote:
> Is this what you are looking for?
>
> https://wiki2.dovecot.org/Plugins/MailboxAlias
>
> It seems already be implemented...

A first step maybe, but no, not quite.
Reply | Threaded
Open this post in threaded view
|

Re: Questions about SPECIAL-USE IMAP extension

Joseph Tam-2
In reply to this post by Joseph Tam-2
Steffen Kaiser <[hidden email]> wrote:

>> I'd like to configure my dovecot service to use the IMAP SPECIAL-USE
>
> well, in my experience SPECIAL-USE is just a suggestions to clients. Check
> RFC 6154 for MUSTs, you'll find only few. Hence, how the client (or the
> server) behaves in a special case is implementor-defined.

In other words, expect the unexpected.  I'm especially curious what
happends when you have multiple mailboxes with the same special-use.

Tanstaafl <[hidden email]> wrote:

> There was a similar discussion about this on list some time ago, about
> whether or not Dovecot could utilize special use 'aliases' that your
> clients may want to use by default, and Dovecot would automatically map
> those requests to a single mailbox.
> ...
> Personally I would love to see this implemented.

Yeah, that would be cool.  For an existing installation, though, an admin
might have merge all existing mailboxes into the one actual mailbox to
keep the confusion down.

Joseph Tam <[hidden email]>
Reply | Threaded
Open this post in threaded view
|

Re: Questions about SPECIAL-USE IMAP extension

Tanstaafl
On Fri Jan 12 2018 17:02:29 GMT-0500 (Eastern Standard Time), Joseph Tam
<[hidden email]> wrote:
> Tanstaafl <[hidden email]> wrote:
>
>> There was a similar discussion about this on list some time ago, about
>> whether or not Dovecot could utilize special use 'aliases' that your
>> clients may want to use by default, and Dovecot would automatically map
>> those requests to a single mailbox.
>> ...
>> Personally I would love to see this implemented.

> Yeah, that would be cool.  For an existing installation, though, an admin
> might have merge all existing mailboxes into the one actual mailbox to
> keep the confusion down.

Actually, properly coded and configured, I don't see why this couldn't
be handled automatically by dovecot.
Reply | Threaded
Open this post in threaded view
|

Re: Questions about SPECIAL-USE IMAP extension

Joseph Tam-2
In reply to this post by Joseph Tam-2
Tanstaafl <[hidden email]> writes:

>> Is this what you are looking for?
>>
>> https://wiki2.dovecot.org/Plugins/MailboxAlias
>>
>> It seems already be implemented...
>
> A first step maybe, but no, not quite.

So what are the gotchas of using this?  How much does this free lunch
cost?

Joseph Tam <[hidden email]>
Reply | Threaded
Open this post in threaded view
|

Re: Questions about SPECIAL-USE IMAP extension

Tanstaafl
On Mon Jan 15 2018 18:11:24 GMT-0500 (Eastern Standard Time), Joseph Tam
<[hidden email]> wrote:

> Tanstaafl <[hidden email]> writes:
>
>>> Is this what you are looking for?
>>>
>>> https://wiki2.dovecot.org/Plugins/MailboxAlias
>>>
>>> It seems already be implemented...
>>
>> A first step maybe, but no, not quite.
>
> So what are the gotchas of using this?
Read? From the link:

"This doesn't magically solve the problem of showing clients e.g.
multiple Sent mailboxes, but it can be used to make sure that all of the
different variants will have the same mails in them. Unfortunately it
also means that some clients will download the same mails to local cache
multiple times."

> How much does this free lunch cost?

? However much time it takes you to implement it?
Reply | Threaded
Open this post in threaded view
|

Re: Questions about SPECIAL-USE IMAP extension

Aki Tuomi-2


On 16.01.2018 17:54, Tanstaafl wrote:

> On Mon Jan 15 2018 18:11:24 GMT-0500 (Eastern Standard Time), Joseph Tam
> <[hidden email]> wrote:
>> Tanstaafl <[hidden email]> writes:
>>
>>>> Is this what you are looking for?
>>>>
>>>> https://wiki2.dovecot.org/Plugins/MailboxAlias
>>>>
>>>> It seems already be implemented...
>>> A first step maybe, but no, not quite.
>> So what are the gotchas of using this?
> Read? From the link:
>
> "This doesn't magically solve the problem of showing clients e.g.
> multiple Sent mailboxes, but it can be used to make sure that all of the
> different variants will have the same mails in them. Unfortunately it
> also means that some clients will download the same mails to local cache
> multiple times."
>
>> How much does this free lunch cost?
> ? However much time it takes you to implement it?

There is also gotcha that MailboxAlias is not compatible with
mailbox_list_index=yes setting.

Aki
Reply | Threaded
Open this post in threaded view
|

Re: Questions about SPECIAL-USE IMAP extension

Joseph Tam-2
In reply to this post by Joseph Tam-2
Aki Tuomi writes:

>>>>> https://wiki2.dovecot.org/Plugins/MailboxAlias
>
> There is also gotcha that MailboxAlias is not compatible with
> mailbox_list_index=yes setting.

Thanks.  How does this manifests itself: the client gets an inconsistent
view of the outgoing mailbox that depends on which mailbox the client
is using, or the optimization is broken and dovecot keeps having to
(re)read the mailbox to acquire the IMAP STATUS?

Joseph Tam <[hidden email]>
Reply | Threaded
Open this post in threaded view
|

Re: Questions about SPECIAL-USE IMAP extension

Tanstaafl
On Wed Jan 17 2018 15:56:39 GMT-0500 (Eastern Standard Time), Joseph Tam
<[hidden email]> wrote:
> Thanks.  How does this manifests itself: the client gets an inconsistent
> view of the outgoing mailbox that depends on which mailbox the client
> is using, or the optimization is broken and dovecot keeps having to
> (re)read the mailbox to acquire the IMAP STATUS?

The way I think this should work is simple...

If the Client doesn't request one of the pre-defined 'aliases' for a
special use folder, then it simply does what it does now - uses what it
wants (creates it if it doesn't exist).

As far as I can tell, this would require dovecot to add some 'smarts'
with respect to virtual folders, and be able to create these on the fly
for clients, as virtual folders is how I think these special-use aliases
should be presented to the client, unless someone has a better idea.

So, for example, if a client asks for a special use folder that did not
use to be pre-defined (Admin added it sometime after the client
connected before), it moves any emails currently residing in the real
version of what will be the new 'alias' (virtual) folder to the alias
target (the real special use folder on the filesystem), deletes the real
version, then creates and subscribes to the new virtual folder.

As I said, properly coded, this could be painless and mostly invisible
to the client.
Reply | Threaded
Open this post in threaded view
|

Re: Questions about SPECIAL-USE IMAP extension [1 answer, 1 followup]

Joseph Tam-2
In reply to this post by Joseph Tam-2
On Thu, 11 Jan 2018, Joseph Tam wrote:

> I'd like to configure my dovecot service to use the IMAP SPECIAL-USE
> extension, but have a few questions for those who have used them, or
> are knowledgable about its use.

Thanks to all who contributed, even if the answer was "it depends".
After configuring it, so far, so good.  One of my users did experience
some confusion, which answered my question ...

> Q2) Will SPECIAL-USE enabled mail clients switch the mailbox used for
> outgoing mail from whatever it was using (e.g. "Sent Mail") to the
> (new) special-use mailbox "xxx"?

The answer to this is an emphatic "yes" for some clients (e.g. Mac OS X
Mail 11.2).  This client will also relabel the actual mailbox "xxx" with
its special-use name "Sent", which can cause confusion when discussing
which mailbox you're referring to.

One thing I didn't take into account was namespace aliasing: I aliased
the former UW imapd namespace (mail/), to conform to the current default
namespace ('').  However, the special-use configuration did not apply
to the aliased namespaces.  Will I have to copy all the special-use
configuration to all my aliased namespaces, or is there some syntax
magic I can use?

By the way, this is the IMAP incantations one can use to test special-use:

  C: x2 LIST (SPECIAL-USE) "" %
  S: * LIST (\NoInferiors \UnMarked \Drafts) "/" Drafts
  S: * LIST (\NoInferiors \UnMarked \Sent) "/" xxx
  S: x2 OK List completed (0.005 + 0.000 + 0.004 secs).

  C: x3 LIST (SPECIAL-USE) "mail/" %
  S: x3 OK List completed (0.011 + 0.000 + 0.010 secs).

Joseph Tam <[hidden email]>