Greenlisting at Tuffmail

Rick posted a comment in my Greenlisting with Sieve post and asked:
"How do you actually do this in Tuffmail? There doesn't seem to be any way to access the whitelist maintained by one of the webmail clients from a custom Sieve script..."
The key to doing this at Tuffmail -- or at any IMAP service provider that lets you create Sieve scripts through both a webmail client and a stand-alone Sieve editor -- is to use the Sieve include extension to include your webmail-created Sieve script in your non-webmail-created Sieve script.

Here's how I set this up at Tuffmail.
  1. Go to and log in to the Tuffmail Account Manager.
  2. Go to Mailboxes > Sieve Filters and choose the the relevant UserID (aka the relevant "mailbox").
  3. Create your primary Sieve script and have it contain something like this:
    require "include";
    include :personal "bluelist";
    include :personal "greenlist";

    #IMPORTANT: The ingo script must be edited through the Horde interface.
    include :personal "ingo";
  4. Name this script and save it. I use the name 1sieve so it will be listed first in my Script Name list (that's why the first character is 1).
  5. In the Scripts for UserID box in the upper right of this Tuffmail Account Manager window, click Activate to activate this primary script.
  6. Use this Tuffmail Account Manager window to create your greenlist and bluelist scripts[*], but do not activate them. Your primary Sieve script (created in Step 3) will be the only active script.
  7. Log on to Horde, go to Options > Filters, and make sure the following is not checked.
    [ ] Automatically activate the script on the server after each change?
    This will ensure that your primary script (e.g., 1sieve) is not de-activated when you use Horde to update the ingo script.
  8. The ingo script must be created and edited through the Horde interface. For example, by clicking the Whitelist button in Horde/IMP.
  9. After you have set up your scripts, send test messages to this user's account (the user specified in Step 2) and make sure that all of this user's Sieve filters are working as you expect.
If you use the SquirrelMail web-based client, rather than Horde, replace ingo with phpscript in the above instructions. [I'm not sure what the analog of Step 7 is in SquirrelMail -- please post a comment if you know.]

You can maintain all your Sieve scripts, other than ingo and phpscript, using a desktop ManageSieve client. ManageSieve is a good reason to download and try Mulberry. Mulberry recently became free/gratis and supports IMAP, LDAP, ManageSieve, and a lot more!

[*] I discuss Sieve greenlist scripts in Greenlisting with Sieve. I use a bluelist to filter my solicited bulk email, e.g., mailing lists, and I will write more about Sieve bluelist scripts in a future post.
Hashtag: #greenlisting [?]

Post & Read Comments (located elsewhere)



Post & Read Comments (located here)

What do your greenlist and bluelist scripts look like? With procmail, where there's an (ulgy but) easy way to check a list of entries in a text file. The closest I've seen with Sieve is to use Tuffmail's install of IMP4 and paste the names into the whitelist or blacklist screen. Doing this, though, there's no way to have a seperate greenlist and bluelist, and there's no way to add more than 100 addresses to the list.



Hi Rourke, I just updated this "Greenlisting at Tuffmail" post to try to make it more clear -- thanks to your question, I realized that what I wrote before was not very clear! The key is to use the Sieve include extension, which is similar to Procmail's INCLUDERC. About the 100 address limit in the ingo whitelist: I suggest that you post about this in the Tuffmail forum. My guess is that John Capo will increase that limit if users want it increased and if it's not a burden to the Tuffmail system.


Thanks, Nancy. For your greenlist and bluelist scripts do you just have one really long "line" of sieve that you've indented nicely so it's easy to edit? Do you use a text file full of names and some scripting language to generate the file or do you just manually add addresses to the sieve code? Or, is there a way to have sieve read an address from another script that's just long list of email addresses?



I used to whitelist addresses at Fastmail, but I find it's not really needed at Tuffmail. Combining Spamassassin and Bogofilter is really nice. Bogofilter does catch some extra spams, but its real unsung strength is in recognizing regular email.

If you train Bogofilter on all ham marked as unsure, it rapidly recognises your mail. Bogofilter false negatives are very rare, so I setup the bayes filter to add -20 to mail classified as ham, which is close to whitelisting. Bogofilter does a better job of whitelisting than sieve rules can, because it carries on working even if an address changes.

I have a sieve rule that uses the sieve copy extension to place a copy of all mail not caught as spam, and marked as Unsure by bogofilter, in the top-level autotrain folder. As they are copies I don't actually have to read mail in this folder. Once in a while I look it over and drop the contents into the approriate training-folder; however, after a few weeks, virtually nothing comes into this folder. Those that do are normally from someone I haven't corresponded with before.


Post a Comment



Links to this page

Create a Link



Each item © Nancy McGough
Each comment © the author of the comment web site hosted by
deflexions powered by Delicious · reflexions powered by Blogger
More deflexions & reflexions, & feeds available via the sidebar top & bottom

[link] For bookmarks & links, please use this page's permalink [link]