Using / in folder names
Is this possible at all ?
I am trying to import a PST file and it has a slash in the folder name. Dovecot errors out with :
APPEND "Caixa de Entrada_VIDA/S1" (\Seen) NO [CANNOT] Invalid mailbox name: Name must not have '/' characters
My namespace separator is the dot and I configured the listescape plugin to escape / but it still doesn't work.
The listescape documentation says:
The / character is disallowed on POSIX systems.
This 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.
So it seems that as long as I use the dot, it should work ? Except it doesn't...
How can I do this import ?
Thank you!
Maybe this is over simplifying things but can you just open the pst file in outlook and then rename the folder, then import?
Sent from my iPhone
On Aug 3, 2023, at 9:03 PM, Scott qmail@top-consulting.net wrote:
Is this possible at all ?
I am trying to import a PST file and it has a slash in the folder name. Dovecot errors out with :
APPEND "Caixa de Entrada_VIDA/S1" (\Seen) NO [CANNOT] Invalid mailbox name: Name must not have '/' characters
My namespace separator is the dot and I configured the listescape plugin to escape / but it still doesn't work.
The listescape documentation says:
The / character is disallowed on POSIX systems.
This 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.
So it seems that as long as I use the dot, it should work ? Except it doesn't...
How can I do this import ?
Thank you!
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
I could. But there's like 200 PSTs to import in total...
Thanks!
-----Original Message----- From: Chris Wensink cwensink@five-star-plastics.com Sent: Thursday, August 3, 2023 11:43 PM To: Scott qmail@top-consulting.net Cc: dovecot@dovecot.org Subject: Re: Using / in folder names
Maybe this is over simplifying things but can you just open the pst file in outlook and then rename the folder, then import?
Sent from my iPhone
On Aug 3, 2023, at 9:03 PM, Scott qmail@top-consulting.net wrote:
Is this possible at all ?
I am trying to import a PST file and it has a slash in the folder name. Dovecot errors out with :
APPEND "Caixa de Entrada_VIDA/S1" (\Seen) NO [CANNOT] Invalid mailbox name: Name must not have '/' characters
My namespace separator is the dot and I configured the listescape plugin to escape / but it still doesn't work.
The listescape documentation says:
The / character is disallowed on POSIX systems.
This 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.
So it seems that as long as I use the dot, it should work ? Except it doesn't...
How can I do this import ?
Thank you!
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
Hmm, this is what I have:
# 2.3.19.1 (9b53102964): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.19 (4eae2f79)
# OS: Linux 6.1.0-10-amd64 x86_64 Debian 12.1 nfs
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
separator = .
}
plugin {
listescape_char = /
}
mail_plugins = " listescape"
I see the plugin being loaded when the imap session starts
dovecot-debug.log:Aug 03 21:46:06 imap(user)<29177>: Debug: Module loaded: /usr/lib/dovecot/modules/lib20_listescape_plugin.so
still no go
a select "TEST/BLAH"
a NO [CANNOT] Invalid mailbox name: Name must not have '/' characters (0.001 + 0.000 secs).
From: Aki Tuomi via dovecot dovecot@dovecot.org Sent: Friday, August 4, 2023 1:47 AM To: Scott qmail@top-consulting.net; dovecot@dovecot.org Subject: Re: Using / in folder names
On 04/08/2023 04:54 EEST Scott
Is this possible at all ?
I am trying to import a PST file and it has a slash in the folder name.
Dovecot errors out with :
APPEND "Caixa de Entrada_VIDA/S1" (\Seen)
NO [CANNOT] Invalid mailbox name: Name must not have '/' characters
My namespace separator is the dot and I configured the listescape plugin to
escape / but it still doesn't work.
The listescape documentation says:
The / character is disallowed on POSIX systems.
This 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.
So it seems that as long as I use the dot, it should work ? Except it
doesn't...
How can I do this import ?
Thank you!
dovecot mailing list -- dovecot@dovecot.org mailto:dovecot@dovecot.org
To unsubscribe send an email to dovecot-leave@dovecot.org mailto:dovecot-leave@dovecot.org
Should work by just loading listescape plugin and not using / as namespace separator.
Aki
Like this ?
mail_location = maildir:/ssd_bkp/ingestmail/mail/%n@%d:BROKENCHAR=_
still throws the same error
I could try migrating to a new layout but will it fix the issue ? I already imported about 250GB of data which I assume I have to throw away and start over ?
Is this a bug in the listescape plugin ?
Thank you for your assistance
From: Aki Tuomi via dovecot dovecot@dovecot.org Sent: Friday, August 4, 2023 8:40 AM To: Scott qmail@top-consulting.net; dovecot@dovecot.org Subject: RE: Using / in folder names
You could try adding :BROKENCHAR=^
to mail location, or you could migrate to LAYOUT=index.
Aki
On 04/08/2023 15:25 EEST Scott
Hmm, this is what I have:
# 2.3.19.1 (9b53102964): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.19 (4eae2f79)
# OS: Linux 6.1.0-10-amd64 x86_64 Debian 12.1 nfs
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
separator = .
}
plugin {
listescape_char = /
}
mail_plugins = " listescape"
I see the plugin being loaded when the imap session starts
dovecot-debug.log:Aug 03 21:46:06 imap(user)<29177>: Debug: Module loaded: /usr/lib/dovecot/modules/lib20_listescape_plugin.so
still no go
a select "TEST/BLAH"
a NO [CANNOT] Invalid mailbox name: Name must not have '/' characters (0.001 + 0.000 secs).
From: Aki Tuomi via dovecot
On 04/08/2023 04:54 EEST Scott
Is this possible at all ?
I am trying to import a PST file and it has a slash in the folder name.
Dovecot errors out with :
APPEND "Caixa de Entrada_VIDA/S1" (\Seen)
NO [CANNOT] Invalid mailbox name: Name must not have '/' characters
My namespace separator is the dot and I configured the listescape plugin to
escape / but it still doesn't work.
The listescape documentation says:
The / character is disallowed on POSIX systems.
This 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.
So it seems that as long as I use the dot, it should work ? Except it
doesn't...
How can I do this import ?
Thank you!
dovecot mailing list -- dovecot@dovecot.org mailto:dovecot@dovecot.org
To unsubscribe send an email to dovecot-leave@dovecot.org mailto:dovecot-leave@dovecot.org
Should work by just loading listescape plugin and not using / as namespace separator.
Aki
dovecot mailing list -- dovecot@dovecot.org mailto:dovecot@dovecot.org
To unsubscribe send an email to dovecot-leave@dovecot.org mailto:dovecot-leave@dovecot.org
Hmm, am I doing something wrong ? It seems everything I try doesn’t work:
a select "B/2"
a NO [CANNOT] Invalid mailbox name: Name must not have '/' characters (0.001 + 0.000 secs).
a create "B/2"
a NO [CANNOT] Invalid mailbox name: Name must not have '/' characters (0.001 + 0.000 secs).
Also from what I see, even with LAYOUT=index it still creates regular folder names on disk
By the way, not sure if it matters or not, but the maildir location is a nfs mount
# 2.3.19.1 (9b53102964): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.19 (4eae2f79)
# OS: Linux 6.1.0-10-amd64 x86_64 Debian 12.1 nfs
# Hostname: pstimport.emailarray.local
mail_location = maildir:/ssd_bkp/ingestmail/mail/%n@%d:BROKENCHAR=_:LAYOUT=index
From: Aki Tuomi via dovecot dovecot@dovecot.org Sent: Friday, August 4, 2023 9:43 AM To: Scott qmail@top-consulting.net; dovecot@dovecot.org Subject: RE: Using / in folder names
You could test this out first on your test deployment. index layout is pretty permissive as it uses guids instead of names on disk.
Aki
On 04/08/2023 16:22 EEST Scott qmail@top-consulting.net wrote:
Like this ?
mail_location = maildir:/ssd_bkp/ingestmail/mail/%n@%d:BROKENCHAR=_
still throws the same error
I could try migrating to a new layout but will it fix the issue ? I already imported about 250GB of data which I assume I have to throw away and start over ?
Is this a bug in the listescape plugin ?
Thank you for your assistance
From: Aki Tuomi via dovecot dovecot@dovecot.org Sent: Friday, August 4, 2023 8:40 AM To: Scott qmail@top-consulting.net; dovecot@dovecot.org Subject: RE: Using / in folder names
You could try adding :BROKENCHAR=^
to mail location, or you could migrate to LAYOUT=index.
Aki
On 04/08/2023 15:25 EEST Scott
Hmm, this is what I have:
# 2.3.19.1 (9b53102964): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.19 (4eae2f79)
# OS: Linux 6.1.0-10-amd64 x86_64 Debian 12.1 nfs
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
separator = .
}
plugin {
listescape_char = /
}
mail_plugins = " listescape"
I see the plugin being loaded when the imap session starts
dovecot-debug.log:Aug 03 21:46:06 imap(user)<29177>: Debug: Module loaded: /usr/lib/dovecot/modules/lib20_listescape_plugin.so
still no go
a select "TEST/BLAH"
a NO [CANNOT] Invalid mailbox name: Name must not have '/' characters (0.001 + 0.000 secs).
From: Aki Tuomi via dovecot
On 04/08/2023 04:54 EEST Scott
Is this possible at all ?
I am trying to import a PST file and it has a slash in the folder name.
Dovecot errors out with :
APPEND "Caixa de Entrada_VIDA/S1" (\Seen)
NO [CANNOT] Invalid mailbox name: Name must not have '/' characters
My namespace separator is the dot and I configured the listescape plugin to
escape / but it still doesn't work.
The listescape documentation says:
The / character is disallowed on POSIX systems.
This 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.
So it seems that as long as I use the dot, it should work ? Except it
doesn't...
How can I do this import ?
Thank you!
dovecot mailing list -- dovecot@dovecot.org mailto:dovecot@dovecot.org
To unsubscribe send an email to dovecot-leave@dovecot.org mailto:dovecot-leave@dovecot.org
Should work by just loading listescape plugin and not using / as namespace separator.
Aki
dovecot mailing list -- dovecot@dovecot.org mailto:dovecot@dovecot.org
To unsubscribe send an email to dovecot-leave@dovecot.org mailto:dovecot-leave@dovecot.org
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
Ok, I got it working with LAYOUT=index
- I am using SQL so the mail_location was being taken from there instead of the config, hence it was ignoring the config line
- BROKENCHAR still doesn’t work even when added to SQL
- I let dovecot auto create the home directories of users. This doesn’t work with LAYOUT=index . It complains that: Error: Couldn't create mailbox list lock in _users_home_dir
If I manually create the homedir then it works as expected
I’ll go ahead and re-import my data – thank you.
Not sure if the behavior I described so far is a bug and if I should file it as such (?)
Thanks once again
From: Aki Tuomi via dovecot dovecot@dovecot.org Sent: Friday, August 4, 2023 9:43 AM To: Scott qmail@top-consulting.net; dovecot@dovecot.org Subject: RE: Using / in folder names
You could test this out first on your test deployment. index layout is pretty permissive as it uses guids instead of names on disk.
Aki
On 04/08/2023 16:22 EEST Scott qmail@top-consulting.net wrote:
Like this ?
mail_location = maildir:/ssd_bkp/ingestmail/mail/%n@%d:BROKENCHAR=_
still throws the same error
I could try migrating to a new layout but will it fix the issue ? I already imported about 250GB of data which I assume I have to throw away and start over ?
Is this a bug in the listescape plugin ?
Thank you for your assistance
From: Aki Tuomi via dovecot dovecot@dovecot.org Sent: Friday, August 4, 2023 8:40 AM To: Scott qmail@top-consulting.net; dovecot@dovecot.org Subject: RE: Using / in folder names
You could try adding :BROKENCHAR=^
to mail location, or you could migrate to LAYOUT=index.
Aki
On 04/08/2023 15:25 EEST Scott
Hmm, this is what I have:
# 2.3.19.1 (9b53102964): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.19 (4eae2f79)
# OS: Linux 6.1.0-10-amd64 x86_64 Debian 12.1 nfs
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
separator = .
}
plugin {
listescape_char = /
}
mail_plugins = " listescape"
I see the plugin being loaded when the imap session starts
dovecot-debug.log:Aug 03 21:46:06 imap(user)<29177>: Debug: Module loaded: /usr/lib/dovecot/modules/lib20_listescape_plugin.so
still no go
a select "TEST/BLAH"
a NO [CANNOT] Invalid mailbox name: Name must not have '/' characters (0.001 + 0.000 secs).
From: Aki Tuomi via dovecot
On 04/08/2023 04:54 EEST Scott qmail@top-consulting.net wrote:
Is this possible at all ?
I am trying to import a PST file and it has a slash in the folder name.
Dovecot errors out with :
APPEND "Caixa de Entrada_VIDA/S1" (\Seen)
NO [CANNOT] Invalid mailbox name: Name must not have '/' characters
My namespace separator is the dot and I configured the listescape plugin to
escape / but it still doesn't work.
The listescape documentation says:
The / character is disallowed on POSIX systems.
This 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.
So it seems that as long as I use the dot, it should work ? Except it
doesn't...
How can I do this import ?
Thank you!
dovecot mailing list -- dovecot@dovecot.org mailto:dovecot@dovecot.org
To unsubscribe send an email to dovecot-leave@dovecot.org mailto:dovecot-leave@dovecot.org
Should work by just loading listescape plugin and not using / as namespace separator.
Aki
dovecot mailing list -- dovecot@dovecot.org mailto:dovecot@dovecot.org
To unsubscribe send an email to dovecot-leave@dovecot.org mailto:dovecot-leave@dovecot.org
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
participants (3)
-
Aki Tuomi
-
Chris Wensink
-
Scott