shared folder name or public folder with mail address
Tobias Kirchhofer
collect at shift.agency
Sat Feb 15 13:16:35 EET 2020
On 15 Feb 2020, at 10:43, Armin Schindler wrote:
> On 14.02.2020 11:44, Tobias Kirchhofer wrote:
>> On 14 Feb 2020, at 11:06, Armin Schindler wrote:
> ...
>>
>> 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.
>
> the sieve part seems to be very tricky.
> My test is now working with a public folder and I have a
> "sieve_before" script in place which works for rules of the
> private namespace.
>
> But when the rule shall "fileinto" a public folder, the mail isn't
> filtered (moved) and syslog says
> dovecot: lmtp(.): Error ... sieve...: Mailbox doesn't exist.
>
> After some tests I found out it always looks in the private (or
> shared)
> namespace for that specfied folder.
> Do I miss a config option to let dovecot sieve "fileinto" a public
> namespace folder?
> I use dovecot version 2.2.13.
We „fileinto“ in this manner :
```
fileinto „Namespace/folder“;
```
The procedure in our setup is like this:
1. Virtual alias for each public-Folder email address within postfix:
Pattern:
folder at domain.tld listadm+Namespace/folder at domain.tld
Example:
info at domain.tld listadm+Verteiler/info at domain.tld
Verteiler is the namespace, info the mailbox. listadm is a pseudo user
in this context which holds the ACL for fileinto the resulting mailbox
with proper permissions.
2. Disassemble the virtual alias address with sieve:
Excerpt of the script. It is actually more code because we sort out spam
for public folder. German comments, sorry.
```
# Hat Subadresse?
if envelope :matches :detail "to" "*"
{
# Adressaufbau: listadm+Namespace/liste@
# ${liste} wird Namespace/box
set "liste" "${1}";
}
[…]
fileinto "${liste}";
```
I can send you the whole script if you need.
Greetings!
Tobias
--
collect at shift.agency
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20200215/f6635231/attachment.html>
More information about the dovecot
mailing list