Server-side filtering is probably the most efficient way of dealing with your emails but it rarely is implemented. The following is a pseudo-schema for doing just that. Arguably it is easier to implement than Sieve and more user-friendly –provided that a reasonable GUI is made available to assist the user.
The fields and actions are inspired by both Mozilla Thunderbird and MS Outlook Explorer –which means any GUI that is similar to those should be both familiar and user-friendly enough for most users.
user_id_nr: –Invisible to and Unmodifiable by user
account_id_nr: –Invisible to and Unmodifiable by user
filter_id_nr: –Invisible to and Unmodifiable by user
filter_index_nr:
filter_title:
macth_kind: {Match All, Match Any}
The following fields contain the data that gets used by the specified criteria for this entry.
sender_field:
subject_field:
body_field:
to_field:
cc_field:
bcc_field:
priority_field:
size_field:
attachment_field:
securemail_field:
sent_date_field:
sent_age_field:
status_field:
The following are the criteria for this entry. Where 'None' means this criteria will be ignored.
sender_criteria: {None, Contains, Does Not Contain, Is, Is Not, Begins With, Does Not Begin With, Ends With, Does Not End With}
subject_criteria: {None, Contains, Does Not Contain, Is, Is Not, Begins With, Does Not Begin With, Ends With, Does Not End With}
body_criteria: {None, Contains, Does Not Contain, Is, Is Not, Begins With, Does Not Begin With, Ends With, Does Not End With}
to_criteria: {None, Contains, Does Not Contain, Is, Is Not, Begins With, Does Not Begin With, Ends With, Does Not End With}
cc_criteria: {None, Contains, Does Not Contain, Is, Is Not, Begins With, Does Not Begin With, Ends With, Does Not End With}
bcc_criteria: {None, Contains, Does Not Contain, Is, Is Not, Begins With, Does Not Begin With, Ends With, Does Not End With}
priority_criteria: {None, Is Equal To, Is Not Equal To, Is Greater Than, Is Less Then}
size_criteria: {None, Is Equal To, Is Not Equal To, Is Greater Than, Is Less Then}
attachment_criteria: {None, Exists, Does Not Exist}
securemail_criteria: {None, Is, Is Not}
sent_date_criteria: {None, Is Equal To, Is Not Equal To, Is Greater Than, Is Less Then}
sent_age_criteria: {None, Is Equal To, Is Not Equal To, Is Greater Than, Is Less Then}
status_criteria: {None, Is Equal To, Is Not Equal To, Is Greater Than, Is Less Then}
The following are the action taken for this entry. Where 'None' means that action will be ignored.
message_action_kind: {None, Copy, Move, Delete}
message_action_To_Folder:
forward_to_address:
highlight_message:
flag_message:
alter_priority_to:
mark_thread_action_kind: {None, Read, Watched, Ignored}
mark_message_action_kind: {None, Read, Watched, Ignored}
reply_with_blob:
This is a form of sending back notification to the sender.
pop_server_action_kind: {None, Delete, Leave}
if the server is POP3 server, you can choose to Delete on the server (without downloading), or Leave on the server.
stop_further_processing:
No other filters will be searched for this message.
Perhaps our interface module to generate sieve scripts from a design scheme similar the one described on this page. The module is based on dbmail-2.x to allow thunderbird/sunbird to work with this dbmail interface via IMAP. The module will be contributed to the community when version 0.1-alpha comes out at the first week of September 2007. We have a working prototype that is now at version 0.0.8-rc20. The project started in August 2005 and it is still not public.