Hi all
I'm using Dovecot 2.2.9 and I'm having problems configuring multiple vacation actions. The problem is that I'd like to have two different senders and two different messages, selecting the correct case by the recipient email address. I mean, if someone writes me to my email address "to-address1@example.com" I'd like to answer from "from-address1@example.com" with the message "TEST 1". If someone writes me to my email address "to-address2@example.com" I'd like to answer from "from-address2@example.com" with the message "TEST 2".
Here's my script:
require ["fileinto","vacation"];
vacation :addresses ["to-address1@example.com"] :from " from-address1@example.com" text: TEST 1 . ; }
vacation :addresses ["to-address2@example.com"] :from " from-address2@example.com" text: TEST 2 . ;
But the vacation filter doesn't work, and I see this message in the log file:
main script: line X: error: duplicate vacation action not allowed (previously triggered one was here: main script: line Y).
Is there a way to allow multiple vacation actions?
Thank you Michele
Op 8-9-2015 om 17:15 schreef Michele Locati:
I'm using Dovecot 2.2.9 and I'm having problems configuring multiple vacation actions. The problem is that I'd like to have two different senders and two different messages, selecting the correct case by the recipient email address. I mean, if someone writes me to my email address "to-address1@example.com" I'd like to answer from "from-address1@example.com" with the message "TEST 1". If someone writes me to my email address "to-address2@example.com" I'd like to answer from "from-address2@example.com" with the message "TEST 2".
Here's my script:
require ["fileinto","vacation"];
vacation :addresses ["to-address1@example.com"] :from " from-address1@example.com" text: TEST 1 . ; }
vacation :addresses ["to-address2@example.com"] :from " from-address2@example.com" text: TEST 2 . ;
But the vacation filter doesn't work, and I see this message in the log file:
main script: line X: error: duplicate vacation action not allowed (previously triggered one was here: main script: line Y).
Is there a way to allow multiple vacation actions?
The script you posted will not even compile. There is a stray '}'.
Anyway, you need to selectively trigger vacation responses. Your script tries to send both at all times, which is not allowed by the Sieve specification.
You could do something like this:
require ["fileinto","vacation", "envelope"];
if envelope "to" "to-address1@example.com" { vacation :addresses ["to-address1@example.com"] :from " from-address1@example.com" text: TEST 1 . ; } elsif envelope "to" "to-address2@example.com" { vacation :addresses ["to-address2@example.com"] :from " from-address2@example.com" text: TEST 2 . ; }
Read these for more information:
https://tools.ietf.org/html/rfc5228 https://tools.ietf.org/html/rfc5230
Regards,
Stephan.
2015-09-08 17:34 GMT+02:00 Stephan Bosch stephan@rename-it.nl:
Op 8-9-2015 om 17:15 schreef Michele Locati:
I'm using Dovecot 2.2.9 and I'm having problems configuring multiple
vacation actions. The problem is that I'd like to have two different senders and two different messages, selecting the correct case by the recipient email address. I mean, if someone writes me to my email address "to-address1@example.com " I'd like to answer from "from-address1@example.com" with the message "TEST 1". If someone writes me to my email address "to-address2@example.com" I'd like to answer from "from-address2@example.com" with the message "TEST 2".
Here's my script:
require ["fileinto","vacation"];
vacation :addresses ["to-address1@example.com"] :from " from-address1@example.com" text: TEST 1 . ; }
vacation :addresses ["to-address2@example.com"] :from " from-address2@example.com" text: TEST 2 . ;
But the vacation filter doesn't work, and I see this message in the log file:
main script: line X: error: duplicate vacation action not allowed (previously triggered one was here: main script: line Y).
Is there a way to allow multiple vacation actions?
The script you posted will not even compile. There is a stray '}'.
Anyway, you need to selectively trigger vacation responses. Your script tries to send both at all times, which is not allowed by the Sieve specification.
You could do something like this:
require ["fileinto","vacation", "envelope"];
if envelope "to" "to-address1@example.com" { vacation :addresses ["to-address1@example.com"] :from " from-address1@example.com" text: TEST 1 . ; } elsif envelope "to" "to-address2@example.com" { vacation :addresses ["to-address2@example.com"] :from " from-address2@example.com" text: TEST 2 . ; }
Read these for more information:
https://tools.ietf.org/html/rfc5228 https://tools.ietf.org/html/rfc5230
Regards,
Stephan.
Thank you Stephan Sorry for the typo: I (badly) extracted part of my script, that is generated by the managesieve plugin of Roundcube.
As for the RCF, vacation responses gets triggered only if the :address contains the recipient of the message. Since the two vacation rules contain different recipient address they wouldn't be triggered at the same time.
Manually editing that script would break the possibility to edit it via the Roundcube plugin, and I can't absolutely teach every user of my company how to connect via ssh and edit that script. So, it's a big pity that is not possible to have two (or more) concurrent vacation scripts: I'll have to manage every user by hand.
Thank you anyway for your explanation
Michele
Am 08. September 2015 17:15:13 MESZ, schrieb Michele Locati mlocati@gmail.com:
Hi all
I'm using Dovecot 2.2.9 and I'm having problems configuring multiple vacation actions. The problem is that I'd like to have two different senders and two different messages, selecting the correct case by the recipient email address. I mean, if someone writes me to my email address "to-address1@example.com" I'd like to answer from "from-address1@example.com" with the message "TEST 1". If someone writes me to my email address "to-address2@example.com" I'd like to answer from "from-address2@example.com" with the message "TEST 2".
Here's my script:
require ["fileinto","vacation"];
vacation :addresses ["to-address1@example.com"] :from " from-address1@example.com" text: TEST 1 . ; }
vacation :addresses ["to-address2@example.com"] :from " from-address2@example.com" text: TEST 2 . ;
But the vacation filter doesn't work, and I see this message in the log file:
main script: line X: error: duplicate vacation action not allowed (previously triggered one was here: main script: line Y).
Is there a way to allow multiple vacation actions?
Should be possible with an if elsif clause.
eg
If address :is "to" "address 1" { vacation1 } elsif address :is "to" "address 2" { vacation2 }
Look at the sieve configuration examples at http://wiki2.dovecot.org/Pigeonhole/Sieve/Examples
Also take a look at the sieve vacation RFC, part 4.8, Examples at https://tools.ietf.org/html/rfc5230#section-4.8
Thank you Michele
Regards
- c
participants (3)
-
Christian Kivalo
-
Michele Locati
-
Stephan Bosch