Stay Informed

Sign up to whitepaper announcements here.

From the Isode blog...

Subscribe to RSS headline updates from:
Powered by FeedBurner

 

Creative Commons

Creative Commons License
Isode's whitepapers are licenced under a Creative Commons Licence.

3rd November 2006

Purpose

This paper looks at how mail filtering is provided by a Blackberry, and compares this with the open standards based approaches available with a LEMONADE system. LEMONADE is the Internet Standard for Mobile Email, based on IMAP and SMTP, described in the Isode White Paper LEMONADE Profile: The Key Standard for Mobile Messaging.

Why Mail Filtering is Useful for Mobile Email

Mail Filtering is an approach where a mobile email user is only sent or alerted to selected messages, typically specified by the user according to message parameters such as size, subject and sender. There are two basic reasons why this is desirable:

  1. To save communications bandwidth.
  2. To provide the user only with messages that need to be (or can be) dealt with on the move, leaving other messages to be handled later at the desktop.

The Blackberry Approach

BlackBerry Mail Filtering

The BlackBerry system provides server side filtering that can be managed from either the desktop or from the BlackBerry client, which is illustrated above. When new messages arrive, they are matched against the filter with the following basic results:

  • Messages that do not match the filter are not made available to the blackberry client.
  • Messages that match the filter are sent to the blackberry client.

Simple text message are sent "as is". Where a message has attachments, they are stored in an associated attachment server, and just the outer text message is initially sent. This means that messages sent to the blackberry client will typically be small (a few kBytes).

LEMONADE: SIEVE & Server Side Filtering

LEMONADE Server Side Mail Filtering

A server side filtering approach can also be used with LEMONADE, using the SIEVE standard. SIEVE is a general purpose mail processing language that allows actions to be performed on a message based on its attributes and headers. Actions supported include:

  • Vacation alert.
  • Message forwarding.
  • Message moving or copying to another mailbox (folder).

SIEVE processing occurs as the message is delivered, as illustrated above. Typical SIEVE usage is very simple, with the most common use being vacation alerts. However, it can be used for very sophisticated delivery time processing. User management of SIEVE processing is generally done using a Web interface. It can also be done using the ManageSieve protocol, that can be integrated with the LEMONADE client.

A LEMONADE client will be alerted to new messages by the IMAP IDLE command, as described in the Isode White Paper IMAP IDLE: The best approach for 'push' email. The LEMONADE client will typically get information from the server to provide a scan listing summary of the message. The use can then choose whether to download the message, and attachments if present.

This capability can be used to provide a service equivalent to the Blackberry filtering. This would be done by using a SIEVE script to move selected messages to a specific mailbox (folder). The client will then select this mailbox, and be alerted to new messages and automatically retrieve the text element, leaving attachments on the server.

LEMONADE: Client Side Filtering

LEMONADE Client Side Mail Filtering

An alternate approach with a LEMONADE system is to use client side filtering, where the filter resides on the LEMONADE client. The client will access the user’s mailbox and be alerted to all new messages. The client will retrieve sufficient information on each message to apply the filter. This will typically be around 100 bytes of information, so the network cost is low. Then the filter will be applied, and the user alerted to messages that match the filter. The client might also fetch some or all of the content of selected messages.

This approach offers a number of advantages:

  • The client side filter makes it easy to integrate filter management with the client.
  • It is efficient.
  • Because the client has access to all messages, the user can change a filter retrospectively and get access to all missed messages. The problem of a key message being filtered and not sent to the client is avoided.
  • It operates directly against the mail server, without any intervening mechanisms.
  • Filters can be created based on user-defined email tags, providing flexible control of visible messages and grouping.

This mechanism will be efficient for a filter that matches a reasonably high percentage of messages arriving. Where most messages are not matched, an alternative approach that will be more efficient for this type of filter is for the IMAP client to use SEARCH or ESEARCH to determine which (new) messages match the filter.

Client side filtering can be used in conjunction with server side filtering to provide a very flexible three stage process.

Conclusions

LEMONADE provides two approaches to email filtering, which can provide equivalent services to Blackberry filtering, with a number of overall benefits.

Copyright © 2008 Isode privacy   feedback Subscribe to our rss newsfeed