sieve filter not working -- wildcard missing

Martin Johannes Dauser mdauser at
Wed Feb 20 11:18:32 EET 2019


You forgot the wildcard '.*' (= Match zero or more instances of any
single character, except newline)

require ["regex"];
# rule:[test]
if header :regex "from" ".*info$"
 	redirect "subbs at";

With this rule, you are filtering emails from toplevel domain '*.info'
or new domains that might occur in future (e.g '*.superinfo'). If you
want to restrict to classic tld '*.info' change the regex to


The draft lists a table of common regex in section2:

There are online regex checker like thought not
specific to sieve's regex, which can be used to test your regular
expressions. Sieve's regex are quite standard though.


On Wed, 2019-02-20 at 14:00 +0530, subin ks via dovecot wrote:
> I've Dovecot and dovecot-sieve v 2.2.27 installed on a Debian 9.6.
> I'm trying to set a Sieve filter which will redirect all emails from
> `info` (i.e. .info) TLD to another email. This is the filter:
> require ["regex"];
> # rule:[test]
> if header :regex "from" "info$"
> {
> 	redirect "subbs at";
> }
> It's not being honored; all emails from .info TLD ends up in the
> inbox and none are redirected. Let me know what I'm doing wrong.
> Thanks.

More information about the dovecot mailing list