On Sat, 13 Feb 2021, Dan Mahoney (Gushi) wrote:
To answer my own question here, I added the following namespace:
namespace { separator = / prefix = partial/ location = mbox:~%u/.partial-mail/ list = yes hidden = no }
And then, in my home directory, created a ~/.partial-mail folder, that I could add symlinks to for mailboxes I actually care about (really, just inbox, but I like having options).
The final bit of the puzzle, to suppress mail.app's stupidity, was to go into my "Advanced IMAP Configuration" (which every other MUA would call "IMAP Configuration") :)
And set "IMAP Path Prefix" to "partial" (note the no trailing /)
Dovecot happily follows symlinks and this lets me offer it to any other user who needs this, without my having to create any extra databases under the hood.
And because I've overridden my main prefix, I don't get my usual default folders (i.e. everything in ~/mail that any normal user would get)
This is better than a per-user override (and I think per-MUA override never would have worked), since this is an accessable knob in the config.
Despite the fact that I have hidden set to "no", any user who doesn't have this magic folder will simply not see it. (That said, I'll try setting it to "yes" to see if it behaves.)
Now let's just hope icloud keychain doesn't helpfully set this same variable on other systems, like my ios devices.
I should *probably* for the sake of completeness, symlink in the "Special" folders. (Drafts, etc)
Best,
-Dan
All,
Dovecot 2.3.13 under Freebsd 11.3, installed via pkg.
I had a question related to dovecot and OSX mail.app.
My primary mailer is "alpine". Sometimes I need to see a message in a graphical app so I occasionally turn to mail.app.
I keep a lot of old mail. Mail.app on recent macos versions insist on downloading *everything* for easier searching and indexing. Most of which I don't need. (20G of mail over the last 20+ years, plus a bunch of mailing lists I keep archived, but only read when I need to search them).
ios mail doesn't do this. Subscriptions don't work (in mail.app, subscriptions are only for public/shared folders).
Ergo, is there a server-side way to make just one client not able to see/list/download ALL folders? Perhaps by presenting them as subscription folders, or perhaps by hiding them in the namespace.
I'm not unwilling to configure an alternate namespace for myself. (It's helps that I'm the sysadmin here).
Ideally, this would be a thing I could only set for my account -- match on a user-agent/username string of some sort?
(My other option has been "create a different username and forward to myself there", but this feels like it should be solvable).
-Dan
My doveconf follows:
# 2.3.13 (89f716dc2): /usr/local/etc/dovecot/dovecot.conf # OS: FreeBSD 11.4-RELEASE-p3 amd64 # Hostname: prime.gushi.org disable_plaintext_auth = no mail_full_filesystem_access = yes mail_location = mbox:%h/mail:INBOX=%h/.mail:INDEX=/var/db/indexes/%u namespace { alias_for = hidden = yes list = no location = prefix = mail/ separator = / } namespace { alias_for = hidden = no list = yes location = prefix = ~/mail/ separator = / subscriptions = yes } namespace { alias_for = hidden = yes list = no location = prefix = ~%u/mail/ separator = / } namespace { hidden = no list = yes location = mbox:~%u/.incoming/ prefix = Inbounds/ separator = / } namespace inbox { inbox = yes location = prefix = separator = / } passdb { driver = pam } plugin { mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename mail_log_fields = uid box msgid size } service imap-login { inet_listener imap { port = 143 } inet_listener imap_other { port = 1143 } inet_listener imaps { port = 993 ssl = yes } inet_listener imaps_other { port = 1993 ssl = yes } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3_other { port = 1110 } inet_listener pop3s { port = 995 ssl = yes } inet_listener pop3s_other { port = 1995 ssl = yes } } ssl_cert =
--
"I love you forever eternally."
-Connaian Expression