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)
Copyright 2K16 - 2K18 Indonesian Hacker Rulez