~sircmpwn/aerc2#254: 
Invalid mailbox name: Name must not have '/' characters

Dovecot default directory separator which is apparently '.'

:archive year

Status
REPORTED
Submitter
~zash
Assigned to
No-one
Submitted
1 year, 2 months ago
Updated
8 months ago
Labels
No labels applied.

Georg Krause 8 months ago · edit

I've got the same issue, is there a way to get around?

~zash 8 months ago

I ended up reconfiguring Dovecot

Georg Krause 8 months ago · edit

Well, I can't do this. :(

Georg Krause 8 months ago · edit

I looked up the source and it seems the problem is aerc does a path join here: https://git.sr.ht/~sircmpwn/aerc/tree/master/commands/msg/archive.go#L70

I'd suggest to implement a string Join there with a configurable seperator which defaults to /. This wouldn't change anything for all current users but would make it possible to use with default dovecot configuration.

@sircmpwn would you accepct such a patch?

~labrat 8 months ago

I'd suggest to implement a string Join there with a configurable

seperator which defaults to /. This wouldn't change anything for all

current users but would make it possible to use with default dovecot configuration.

Should not be configurable but auto detected. The individual workers should be able to tell the delimiter used (for imap it's in the server handshake)

Georg Krause 8 months ago · edit

Autodetecting sounds even better, still I have no idea how to do this. Do we need to support Pop3 or just imap? Does aerc already save the headers somewhere?

~labrat 8 months ago

Do we need to support Pop3 or just imap? Every worker type (imap / maildir /notmuch)

Does aerc already save the headers somewhere? The mail headers? You don't need them. What you need is parts of the imap protocol exchange for imap, for maildir it will be the path separator of the OS ("/" in all supported OSes) and for notmuch we don't care (:archive doesn't work)

~benburwell 8 months ago

for maildir it will be the path separator of the OS ("/" in all supported OSes)

Actually, maybe this should be configurable for maildir. In the maildir++ format, '.' is used as the separator.

Though perhaps it makes more sense to configure it in accounts.conf by pointing to maildir++:// or something and then inferring the separator from that?

In any case, we don't have great support for maildir++ yet so maybe we don't need to worry about it now.

Georg Krause 8 months ago · edit

The mail headers? You don't need them.

No, basically the imap handshake where I can get the separator.

Georg Krause 8 months ago · edit

Basically this seems like currently the problem deduces to detect the separator IF the worker is imap, since notmuch has no working archive and maildir defaults to /. Is this right?

Still the question is, is there a way in aerc to get the imap protocol exchange values?

~labrat 8 months ago

Yes: https://godoc.org/github.com/emersion/go-imap/client#Client.List

Then you'll need to modify one of the worker messages in a generic way so that we can pass that to the store... probably models.DirectoryInfo? Not sure but that seems to be the most appropriate one ( I think the path sep is per mailbox? Don't know the RFC by hard)

Register here or Log in to comment, or comment via email.