1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
Listescape plugin
=================
The Listescape plugin allows users to use characters in mailboxes names that
would otherwise be illegal (due to the underlying mailbox storage), for
example:
* Maildir++ layout disallows using the '.' character (unless LAYOUT=fs is
used), since it's used internally as the folder hierarchy separator.
* The '~' character at the beginning of the mailbox name is disallowed,
because of the possibility that it gets expanded to user's home directory.
* The '/' character is disallowed on POSIX systems.
The Listescape plugin allows you to use all of these characters, as long as the
virtual separator (i.e. what is set by the separator= setting and used as such
by the IMAP protocol) is changed to something else, which means that the plugin
does *not* make it possible to use the virtual separator in folder names.
The characters are escaped to the mailbox name as \NN hex codes.
So what would be a good hierarchy separator to use?
* '.' and '/' are very commonly used and should work everywhere
* '\' is used by Exchange, and should also work everywhere (when specifying
this in the separator= setting it must be quoted, so one sets separator =
"\\")
* '^' is used internally by Thunderbird and causes some trouble with it
* others?
Examples
--------
Allow '.' characters with Maildir++ layout when virtual hierarchy separator is
changed to '/' (it could be anything else except '.' itself):
---%<-------------------------------------------------------------------------
mail_plugins = $mail_plugins listescape
namespace private {
separator = /
inbox = yes
}
plugin {
# The default escape character is '\', but you can change it.
# Note that even here the expansion of % takes place, thus you need to
# use "%%" if you want to have the % sign as the escape character.
#listescape_char = "\\"
}
---%<-------------------------------------------------------------------------
Allow both '.' and '/' characters when virtual hierarchy separator is changed
to '$'. The '$' has to be quoted to avoid variable expansion.:
---%<-------------------------------------------------------------------------
mail_plugins = $mail_plugins listescape
namespace private {
separator = "$"
inbox = yes
}
---%<-------------------------------------------------------------------------
(This file was created from the wiki on 2019-06-19 12:42)
|