shared folder name or public folder with mail address
Tobias Kirchhofer
collect at shift.agency
Fri Feb 14 12:44:27 EET 2020
On 14 Feb 2020, at 11:06, Armin Schindler wrote:
> Hello!
>
> we are about to move from cyrus to dovecot and have one open issue
> for that migration.
> With cyrus we have "shared/" folders with a name that is self defined
> like
> shared/project-xyz
> but the email address for direct delivery to that folder my be
> different
> (not project-xyz at domain.com).
>
> With dovecot we try to have it similar (at least how the user sees it
> in the client)
> like it is now.
>
> When configuring a namespace of type=shared, I see in the docs the the
> prefix
> can be configured with %%u , %%n or %%d. But is it possible to
> configure
> the name different to the email address? E.g. to hide the email
> address of
> that folder and show a nice name instead?
>
> I also thought about using public namespace instead. Does this make
> sense here?
> With public (maybe configured with prefix=shared/) folder I can set
> any name
> as subdir in prefix, right?
> So would this be more like what we have with cyrus shared folder?
>
> If so, how could these public folders have an email address for direct
> mail delivery into?
> Can something like a global sieve rule do that? Or can a public folder
> have an email address?
>
> Thanks in advance.
> Armin
Hi, we went through this some years ago. It is a bit tricky in the
details. Involved is postfix, public namespace, subscriptions, acl,
sieve.
We found a quite comprehensive solution so far. It is working similar to
Cyrus shared folder. Do not mix the names. Cyrus „shared“ folders
are „public“ folders in Dovecot. Dovecot „shared“ folders are
personally shared folders from one user to another.
For our new setup (planned with CentOS 8, waiting for the official repo
for the latest dovecot version…) we have a prototype on Debian base
with the latest version of Dovecot. In opposite to our current solution
we will implement global acls with user and groups from LDAP. This is
very nice.
Some elements:
Global ACL:
```
[..]
Newsletter group=administrator lrwstipekxa
Newsletter/* group=team lrwstipe
Newsletter/* user=name at domain.tld lrwstipe
[…]
```
Public folder:
```
namespace {
type = public
prefix = Newsletter/
separator = /
location =
maildir:/var/vmail/public/$DOMAIN/newsletter:LAYOUT=fs:INDEXPVT=~/public/$DOMAIN/newsletter
subscriptions = no
hidden = no
list = children
}
```
Subscriptions (! This one was tricky)
```
namespace subscriptions {
subscriptions = yes
prefix =
separator = /
list = no
hidden = yes
}
namespace inbox {
inbox = yes
separator = /
prefix = INBOX/
subscriptions = no
[…]
```
„Dovecot“ Shared folder (optional):
```
namespace shared {
type = shared
separator = /
prefix = Shared/%%u/
location = maildir:%%h/:INDEXPVT=~/shared/%%u
list = children
subscriptions = no
}
```
The sorting in the according public folder happens in a global sieve
script before user scripts are fireing. It is combined with the ‚+‘
notation in postfix for sub addresses and an special ‚listadm‘ user
postfix:
```
listadm+Verteiler/info@$DOMAIN
```
The sieve script is then reading the generated address and delivers it
into the according public folder. We learned a lot about sieve scripting
with this task :-)
```
sieve_before = /var/vmail/sieve/global/global-before.sieve
[…]
```
More details would be to much here.
To be honest, we needed some time to get it done properly. It is a
combination of features and A LOT OF testing and analysing the behaviour
of postfix/dovecot/public-folder/sieve/acl. For now we have a Public
folder setup which is as nice like it is with Cyrus. With Cyrus this
issue is less complex to implement.
Maybe this helps a bit. Take exclusivly one to two weeks for this task
and read and test a lot! :-)
Tobias
--
collect at shift.agency
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20200214/7dae1ab2/attachment.html>
More information about the dovecot
mailing list