I am curious to know how did you define the filter on an alias in the first place ? is it a filter defined globaly in dovecot ? I don't see how it can be defined in any individual mailbox. Can you show the dovecot/sieve configuration to achieve this ?

Yassine.

On 3/10/19 11:40 AM, Monis Monther via dovecot wrote:
Hi Yassine,

Thanks for the effort, unfortunately, we cannot turn it into an actual mailbox, this is a long story that I don't want to include here. but it would not be a valid option in our environment. Any other ideas

Is it possible to do it with vacation? Is there another auto responder or plugin that can achieve this? How do ticketing systems handle this?

Thanks
Monis

On Sun, Mar 10, 2019 at 11:13 AM Yassine Chaouche via dovecot <dovecot@dovecot.org <mailto:dovecot@dovecot.org>> wrote:


    On 3/10/19 9:07 AM, Yassine Chaouche via dovecot wrote:

    On 3/9/19 12:41 PM, Monis Monther via dovecot wrote:

    Hi,

    We have an alias group named x...@example.com
    <mailto:x...@example.com>, this alias group has 3 actual users
    a...@example.com <mailto:a...@example.com>, b...@example.com
    <mailto:b...@example.com> and c...@example.com <mailto:c...@example.com>

    We set vacation rule on the generic sieve rule, the problem is
    that 3 responses are sent to the original sender. (obviously
    because the rule is being executed with each user in the alias
    group)

    Is it possible to set auto response only once, we tried the (
    :days 1) option but still all 3 respond back.

    How can such a setup be achieved. (Single auto response to an
    alias group)

    CentOS 7.5
    dovecot-pigeonhole-2.3.4.1-1.x86_64
    dovecot-2.3.4.1-1.x86_64
    postfix 2.10-1


-- Best Regards
    Monis

    Hello Monis,

    As a workaround, you can turn x...@example.com
    <mailto:x...@example.com> into an actual mailbox and give
    a...@example.com <mailto:a...@example.com>, b...@example.com
    <mailto:b...@example.com> and c...@example.com <mailto:c...@example.com>
    read-only shared folder access.

    Yassine.


    As a request for comments and improvements, here's a my script to
    share folders via acl files and symlinks (dovecot must be
    configured accordingly) :

    root@messagerie[10.10.10.19] /usr/local/scripts/mail # cat
    sharemailbox.single
    #!/bin/bash

    function create_link {
        l_src=$1
        l_dst=$2
        l_maildir=$3
        t_maildir=$(echo "$3" | tr . ․)
        t_dst="$l_dst"/.shared."$t_maildir"
        echo pointing "$t_dst" to "$l_src"
        echo ln -s "$l_src/" "$t_dst"
        ln -s "$l_src/" "$t_dst"

    }


    function verifier_email {
        l_email=$1
        if ! searchmailbox.strict.sql $l_email > /dev/null
        then
            echo "l'utilisateur $l_email n'a pas pu être trouvé dans
    la base de données." >&2
            return 1
        fi
        return 0
    }

    function set_acl {
        l_maildir=$1
        l_email=$2
        echo "giving $l_email access to $l_maildir"
        if [ ! -d $l_maildir ]
        then
            #.Sent isn't there yet.
            return
        fi
        acl_file="$l_maildir/dovecot-acl"
        echo "echo user=$l_email lr >> $acl_file"
        echo user="$l_email" lr >> "$acl_file"
        chown vmail:vmail "$acl_file"
    }


    if [ "$#" -lt 2 ]
    then
        echo "usage : $0 part...@domain.com
    <mailto:part...@domain.com> us...@domain.com
    <mailto:us...@domain.com> us...@domain.com
    <mailto:us...@domain.com> ... "
        exit 1
    fi

    email="$1"
    inbox="${email%@*}"
    domain="${email#*@}"
    src="/var/vmail/$domain/$inbox"
    if ! verifier_email "$email"
    then
        echo "exit at 1"
        exit 1
    fi


    shift
    for share_email in $@
    do
        if ! verifier_email $share_email
        then
            continue
        fi
        share_inbox="${share_email%@*}"
        share_domain="${share_email#*@}"
    share_maildir=/var/vmail/"$share_domain"/"$share_inbox"
        #echo grep "$share_email" "$src"/dovecot-acl
        if grep "$share_email" "$src"/dovecot-acl > /dev/null 2>&1
        then
            # then is executed when exit status is 0
            # exist status is 0 when there is a match
            echo "$share_email" has already access to "$email"
        else
            set_acl $src $share_email
            create_link $src $share_maildir $inbox
        fi
    done
    root@messagerie[10.10.10.19] /usr/local/scripts/mail #



--
Best Regards
Monis

Reply via email to