Sieve script won't compile. Compiler output isn't helpful.
Steven Mainor
steve at degga.net
Wed Nov 30 08:47:57 UTC 2016
Hello! I hope you will forgive my ignorance but I have a problem I have
been trying to solve for a week and I'm not sure where else to turn.
I'm trying to write a sieve script to sort all of my mail. I was writing
this script to replace the one I am currently using but I can't seem to
get it to compile. I don't know a lot about sieve or really scripting of
any kind and I just can't figure out what I'm doing wrong.
The compiler just puts out a bunch of output that doesn't make sense.
like "unexpected character" when I know the character works there
because I am already running a script with some of the same lines.
I'm attaching the script with some names and addresses changed and the
sieve output to this email.
I would greatly appreciate any help anyone could offer.
-------------- next part --------------
require ["envelope", "fileinto", "mailbox", "imap4flags", "regex"];
if anyof (header :contains "List-ID" "<linux-kernel.vger.kernel.org>",
header :contains "List-Id" "Dovecot",
envelope :domain "From" "lists.ubuntu.com",
envelope :domain "from" "debian.org",
envelope :domain "From" "1.example.com",
envelope :domain "From" "2.example.com",
envelope :domain "From" "3.example.com",
envelope :domain "From" "4.example.com",
envelope :domain "From" "5.example.com",
envelope :domain "From" "6.example.com",
envelope "From" "person at 7.example.com",
envelope :domain "From" "8.example.com",
envelope :domain "From" "9.example.com",
envelope :domain "From" "10.example.com",
envelope :domain "From" "11.example.com",
envelope :domain "From" "12.example.com",
envelope :domain "From" "13.example.com",
envelope :domain "From" "14.example.com",
envelope :domain "From" "15.example.com",
envelope :domain "From" "16.ecample.com") {
if header :contains "List-ID" "<linux-kernel.vger.kernel.org>" {
fileinto :create "Lists/Kernel";
stop;
}
if header :contains "List-Id" "Dovecot" {
fileinto :create "Lists/Dovecot";
stop;
}
if envelope :domain "From" "lists.ubuntu.com" {
if envelope "from" "ubuntu-users-bounces at lists.ubuntu.com" {
fileinto :create "Lists/Ubuntu/Users";
stop;
}
if envelope "From" "ubuntu-security-announce-bounces at lists.ubuntu.com" {
fileinto :create "Lists/Ubuntu/Security";
stop;
}
else {
fileinto :create "Lists/Ubuntu";
stop;
}
}
if envelope :domain "From" "debian.org" {
if envelope :contains "From" "debian-user" {
fileinto :create "Lists/Debian/User";
stop;
}
if envelope :contains "From" "debain-security" {
fileinto :create "Lists/Debain/Security";
stop;
}
if envelope :contains "From" "debain-security-announce" {
fileinto :create "Lists/Debain/SecurityAnnounce";
stop;
}
if envelope :contains "From" "debian-news" {
fileinto :create "Lists/Debain/News;
stop;
}
if envelope :contains "From" "debian-lts" {
fileinto :create "Lists/Debian/LtsAnnounce";
stop;
}
if envelope :contains "From" "debian-photo" {
fileinto :create "Lists/Debian/Photo";
stop;
}
else {
fileinto :create "Lists/Debain";
stop;
}
}
if anyof (envelope :domain "From" "1.example.com",
envelope :domain "From" "2.example.com",
envelope :domain "From" "3.example.com",
envelope :domain "From" "4.example.com",
envelope :domain "From" "5.example.com",
envelope :domain "From" "6.example.com",
envelope "From" "person at 7.example.com",
envelope :domain "From" "8.example.com",
envelope :domain "From" "9.example.com",
envelope :domain "From" "10.example.com",
envelope :domain "From" "11.example.com",
envelope :domain "From" "11.example.com",
envelope :domain "From" "12.example.com",
envelope :domain "From" "13.example.com",
envelope :domain "From" "14.example.com",
envelope :domain "From" "15.example.com") {
fileinto :create "Lists/Bulk";
stop;
}
else {
fileinto :create "Lists";
stop;
}
}
if anyof (header "From" "store-news at amazon.com",
envelope :contains "From" "menswearhouse.com",
envelope :contains "From" "officedepot.com",
envelope :contains "From" "walgreens.com",
header "From" "promo at email.newegg.com") {
fileinto :create "Promo";
stop;
}
if envelope :contains "From" "facebookmail.com" {
fileinto :create "SocialMedia";
stop;
}
if anyof (envelope :contains "From" "creditonemail.com",
envelope :contains "From" "statefarm.com",
envelope :contains "From" "capitalone.com") {
fileinto :create "Banking";
stop;
}
-------------- next part --------------
newfilter: line 100: error: unexpected character(s) starting with '-'.
newfilter: line 100: error: expected end of command ';' or the beginning of a compound block '{', but found unknown characters.
newfilter: line 104: error: unexpected character(s) starting with '-'.
newfilter: line 113: error: unexpected character(s) starting with '.'.
newfilter: line 113: error: unexpected character(s) starting with '.'.
newfilter: line 114: error: unexpected character(s) starting with '.'.
newfilter: line 114: error: unexpected character(s) starting with '.'.
newfilter: line 115: error: unexpected character(s) starting with '.'.
newfilter: line 115: error: unexpected character(s) starting with '.'.
newfilter: line 116: error: unexpected character(s) starting with '.'.
newfilter: line 116: error: unexpected character(s) starting with '.'.
newfilter: line 117: error: unexpected character(s) starting with '.'.
newfilter: line 117: error: unexpected character(s) starting with '.'.
newfilter: line 118: error: unexpected character(s) starting with '.'.
newfilter: line 118: error: unexpected character(s) starting with '.'.
newfilter: line 119: error: unexpected character(s) starting with '@'.
newfilter: line 119: error: unexpected character(s) starting with '.'.
newfilter: line 119: error: unexpected character(s) starting with '.'.
newfilter: line 120: error: unexpected character(s) starting with '.'.
newfilter: line 120: error: unexpected character(s) starting with '.'.
newfilter: line 121: error: unexpected character(s) starting with '.'.
newfilter: line 121: error: unexpected character(s) starting with '.'.
newfilter: line 122: error: unexpected character(s) starting with '.'.
newfilter: line 122: error: unexpected character(s) starting with '.'.
newfilter: line 123: error: unexpected character(s) starting with '.'.
newfilter: line 123: error: unexpected character(s) starting with '.'.
newfilter: line 124: error: unexpected character(s) starting with '.'.
newfilter: line 124: error: unexpected character(s) starting with '.'.
newfilter: line 125: error: unexpected character(s) starting with '.'.
newfilter: line 125: error: unexpected character(s) starting with '.'.
newfilter: line 126: error: unexpected character(s) starting with '.'.
newfilter: line 126: error: unexpected character(s) starting with '.'.
newfilter: line 127: error: unexpected character(s) starting with '.'.
newfilter: line 127: error: unexpected character(s) starting with '.'.
newfilter: line 128: error: unexpected character(s) starting with '.'.
newfilter: line 128: error: unexpected character(s) starting with '.'.
newfilter: line 137: error: unexpected character(s) starting with '-'.
newfilter: line 137: error: unexpected character(s) starting with '@'.
newfilter: line 137: error: unexpected character(s) starting with '.'.
newfilter: line 138: error: unexpected character(s) starting with '.'.
newfilter: line 139: error: unexpected character(s) starting with '.'.
newfilter: line 140: error: unexpected character(s) starting with '.'.
newfilter: line 141: error: unexpected character(s) starting with '@'.
newfilter: line 141: error: unexpected character(s) starting with '.'.
newfilter: line 141: error: unexpected character(s) starting with '.'.
newfilter: line 145: error: unexpected character(s) starting with '.'.
newfilter: line 149: error: unexpected character(s) starting with '.'.
newfilter: line 150: error: unexpected character(s) starting with '.'.
newfilter: line 151: error: unexpected character(s) starting with '.'.
newfilter: line 155: error: end of file before end of quoted string started at line 152.
newfilter: error: parse failed.
More information about the dovecot
mailing list