Cannot subscribe to Public mailbox
I'm trying to set up a Public mailbox, but when I try to subscribe to it in Thunderbird, nothing happens: it doesn't appear as a folder, and when I go back to the Subscribe window, it is unchecked again.
I use postfix local dlivery, which created a Maildir when a mail arrived for this mailbox: /home/others/sharedmail/Maildir/{cur,new,tmp}
(sharedmail is a system user so that Postfix can deliver the mail; it doesn't have a login shell or a password)
To make sure it is not a simple filesystem permissions problem, I did "chmod -R a+rwX Maildir/"
This is my current config ( I tried to keep it short by leaving only what might be relevant ):
# dovecot -n
# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.9
...
mail_location = maildir:~/Maildir
namespace {
list = yes
location = maildir:/home/others/sharedmail/Maildir
prefix = Public.
separator = .
subscriptions = no
type = public
}
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox ...
...
}
prefix =
separator = .
}
passdb {
driver = pam
}
plugin {
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
protocols = " imap"
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
}
userdb {
driver = passwd
}
Also, I'm not sure about the difference between type=public and type=shared. But anyway, I tried both with the same result.
Some progress was achieved by using symlinks to make the Maildir a subdirectory of the public namespace location:
mkdir /home/others/sharedmail/public-mails
ln -si /home/others/sharedmail/Maildir/ /home/others/sharedmail/public-mails/.Public
and
namespace {
list = yes
location = maildir:/home/others/sharedmail/public-mails
prefix = Public.
separator = .
subscriptions = no
type = public
}
However, Postfix delivers new mails with mode 600:
# ls -l /home/others/sharedmail/Maildir/cur
-rw------- 1 sharedmail sharedmail 1596 Sep 4 16:25
1472999138.V804I3c0028M764419.pe2:2,
-rw------- 1 sharedmail sharedmail 1596 Sep 4 16:36
1472999809.V804I3c002cM121024.pe2:2,
So I can now subscribe to the Public maildir, but still cannot read the mails...
I had the impression that using dovecot's lmtp delivery could help, but when I set "mailbox_transport = lmtp:unix:private/dovecot-lmtp" in postfix main.cf, mails are rejected because my recipient maps / virtual_alias maps are ignored.
Would someone know what I have to do? I could (re-)try configuring dovecot ACLs, but according to http://wiki2.dovecot.org/SharedMailboxes/Permissions it looks like it wouldn't help:
"If you use more than one UNIX UID <http://wiki2.dovecot.org/UserIds> for your
mail users (e.g. you use system users), you'll need to make sure that all users
can access the mailboxes on filesystem level. (ACL plugin
<http://wiki2.dovecot.org/ACL> won't help you with this.) "
Basically, I have:
- email users are system users
- Postfix holds the email -> user maps (mostly in regexp or pcre format)
How can I have Public or Shared mailboxes?
-------- Original Message --------
I'm trying to set up a Public mailbox, but when I try to subscribe to it in Thunderbird, nothing happens: it doesn't appear as a folder, and when I go back to the Subscribe window, it is unchecked again.
I use postfix local dlivery, which created a Maildir when a mail arrived for this mailbox: /home/others/sharedmail/Maildir/{cur,new,tmp}
(sharedmail is a system user so that Postfix can deliver the mail; it doesn't have a login shell or a password)
To make sure it is not a simple filesystem permissions problem, I did "chmod -R a+rwX Maildir/"
This is my current config ( I tried to keep it short by leaving only what might be relevant ):
# dovecot -n # 2.1.7: /etc/dovecot/dovecot.conf # OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.9 ... mail_location = maildir:~/Maildir namespace { list = yes location = maildir:/home/others/sharedmail/Maildir prefix = Public. separator = . subscriptions = no type = public } namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox ... ... } prefix = separator = . } passdb { driver = pam } plugin { sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } protocols = " imap" service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } } userdb { driver = passwd }
Also, I'm not sure about the difference between type=public and type=shared. But anyway, I tried both with the same result.
participants (1)
-
MI