Help me understand why sieve vacations do not work.

User generates this sieve script via roundcube:

require ["vacation"];
# rule:[test]
if true
{
        vacation :days 1 :subject "boo" "i'm not here";
}

Which should generate a reply to each incoming message. However when I look at 
lmtp debug log, I see:

dbmail-lmtpd[25633]: [0x1e38200] Info:[message] sort_and_deliver(+2065): 
Calling for a Sieve sort
dbmail-lmtpd[25633]: [0x1e38200] Debug:[sort] sort_startup(+756): Sieve 
vacation enabled.
dbmail-lmtpd[25633]: [0x1e38200] Info:[sort] sort_getscript(+506): Getting 
default script named [sieve]
dbmail-lmtpd[25633]: [0x1e38200] Debug:[sort] sort_getenvelope(+568): from 
[pega...@nerv.eu.org], to [t...@domain.tld]
dbmail-lmtpd[25633]: [0x1e38200] Debug:[sort] sort_getenvelope(+568): from 
[pega...@nerv.eu.org], to [t...@domain.tld]
dbmail-lmtpd[25633]: [0x1e38200] Info:[sort] sort_process(+951): No actions 
taken; message must be kept.

However if user adds his email "My additional e-mail addresses" field in 
roundcube, resulting in this script:

require ["vacation"];
# rule:[test]
if true
{
        vacation :days 1 :addresses "t...@domain.tld" :subject "boo" "i'm not 
here";
}

Response is generated:

dbmail-lmtpd[7754]: [0xe39200] Info:[message] sort_and_deliver(+2065): Calling 
for a Sieve sort
dbmail-lmtpd[7754]: [0xe39200] Debug:[sort] sort_startup(+756): Sieve vacation 
enabled.
dbmail-lmtpd[7754]: [0xe39200] Info:[sort] sort_getscript(+506): Getting 
default script named [sieve]
dbmail-lmtpd[7754]: [0xe39200] Debug:[sort] sort_getenvelope(+568): from 
[pega...@nerv.eu.org], to [t...@domain.tld]
dbmail-lmtpd[7754]: [0xe39200] Debug:[sort] sort_getenvelope(+568): from 
[pega...@nerv.eu.org], to [t...@domain.tld]
dbmail-lmtpd[7754]: [0xe39200] Info:[sort] sort_getheader(+551): Getting header 
[to] returning value [<t...@domain.tld>]
dbmail-lmtpd[7754]: [0xe39200] Debug:[message] dbmail_message_construct(+1889): 
from: [t...@domain.tld] to: [pega...@nerv.eu.org] subject: [boo] body: [mene ni]
dbmail-lmtpd[7754]: [0xe39200] Debug:[message] parse_and_escape(+2206): parsing 
address [pega...@nerv.eu.org]
dbmail-lmtpd[7754]: [0xe39200] Debug:[message] parse_and_escape(+2206): parsing 
address [t...@domain.tld]
dbmail-lmtpd[7754]: [0xe39200] Info:[message] send_mail(+2282): opening pipe to 
[/usr/sbin/sendmail -i -f t...@domain.tld pega...@nerv.eu.org]
dbmail-lmtpd[7754]: [0xe39200] Debug:[message] send_mail(+2290): pipe opened
dbmail-lmtpd[7754]: [0xe39200] Debug:[message] send_mail(+2309): pipe closed
dbmail-lmtpd[7754]: [0xe39200] Info:[message] send_mail(+2314): sendmail exited 
normally
dbmail-lmtpd[7754]: [0xe39200] Info:[sort] sort_vacation(+242): Sending 
vacation to [pega...@nerv.eu.org] from [t...@domain.tld] handle 
[d0c850616e6d28c2b538e044ed38a9e2] repeat days [1]

RFC 5230 4.5 states that vacation must not reply to a msg unless 
1.  an email address known by the implementation to be associated with the 
recipient,
2.  the final envelope recipient address if it's available to the 
implementation, or
3.  an address specified by the script writer via the ":addresses" argument 
described in the next paragraph.

I assume #1 is true for dbmail sieve? Because #2 is true in my case as well. So 
why is it that only #3 is matched?

I'd like to know if this has to be fixed in dbmail sieve implementation or in 
the roundcube sieve filter UI.

DBMail 3.1.10, roundcube 0.8, libsieve 2.3.1


-- 

Jure Pečar
http://jure.pecar.org
_______________________________________________
DBmail mailing list
DBmail@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail

Reply via email to