Sieve, a problem with if/elsif/else

Sergey a_s_y at sama.ru
Mon Aug 31 03:22:17 EDT 2015


Hello.

I have a strange problem. I use a filter

if address :contains ["To"] ["bounceerror@"] {
   if    address :contains ["From"] ["MAILER-DAEMON at srv1.domain"] {
      fileinto "INBOX/BounceError/srv1";
   }
   elsif address :contains ["From"] ["MAILER-DAEMON at srv2.domain"] {
      fileinto "INBOX/BounceError/srv2";
   }
   elsif address :contains ["From"] ["MAILER-DAEMON at srv3.domain"] {
      fileinto "INBOX/BounceError/srv3";
   }
#   elsif address :contains ["From"] ["MAILER-DAEMON at srv4.domain"] {
#      fileinto "INBOX/BounceError/srv4";
#   }
   else {
      fileinto "INBOX/BounceError";
   }
}

Messages from srv4 remain in the inbox instead of move to
BounceError. Messages from srv4 are moved to INBOX/BounceError/srv4
if uncomment lines about srv4.

Why "else fileinto" doesn't work ? Discovered in 2.4.17, reproduced
in 2.4.18.

-- 
Regards, Sergey


More information about the Info-cyrus mailing list