Sieve: A Mail Filtering Language
RFC 3028

Document Type RFC - Proposed Standard (January 2001; Errata)
Obsoleted by RFC 5429, RFC 5228
Last updated 2013-03-02
Stream Legacy
Formats plain text pdf html
Stream Legacy state (None)
Document shepherd No shepherd assigned
This information refers to IESG processing after the RFC was initially published:
IESG IESG state RFC 3028 (Proposed Standard)
Telechat date
Responsible AD Ned Freed
IESG note Published as RFC 3028
Send notices to <tjs@andrew.cmu.edu>
Network Working Group                                       T. Showalter
Request for Comments: 3028                               Mirapoint, Inc.
Category: Standards Track                                   January 2001

                    Sieve: A Mail Filtering Language

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2001).  All Rights Reserved.

Abstract

   This document describes a language for filtering e-mail messages at
   time of final delivery.  It is designed to be implementable on either
   a mail client or mail server.  It is meant to be extensible, simple,
   and independent of access protocol, mail architecture, and operating
   system.  It is suitable for running on a mail server where users may
   not be allowed to execute arbitrary programs, such as on black box
   Internet Message Access Protocol (IMAP) servers, as it has no
   variables, loops, or ability to shell out to external programs.

Table of Contents

   1.      Introduction ...........................................   3
   1.1.     Conventions Used in This Document .....................   4
   1.2.     Example mail messages .................................   4
   2.      Design .................................................   5
   2.1.     Form of the Language ..................................   5
   2.2.     Whitespace ............................................   5
   2.3.     Comments ..............................................   6
   2.4.     Literal Data ..........................................   6
   2.4.1.   Numbers ...............................................   6
   2.4.2.   Strings ...............................................   7
   2.4.2.1. String Lists ..........................................   7
   2.4.2.2. Headers ...............................................   8
   2.4.2.3. Addresses .............................................   8
   2.4.2.4. MIME Parts ............................................   9
   2.5.     Tests .................................................   9
   2.5.1.   Test Lists ............................................   9

Showalter                   Standards Track                     [Page 1]
RFC 3028            Sieve: A Mail Filtering Language        January 2001

   2.6.     Arguments .............................................   9
   2.6.1.   Positional Arguments ..................................   9
   2.6.2.   Tagged Arguments ......................................  10
   2.6.3.   Optional Arguments ....................................  10
   2.6.4.   Types of Arguments ....................................  10
   2.7.     String Comparison .....................................  11
   2.7.1.   Match Type ............................................  11
   2.7.2.   Comparisons Across Character Sets .....................  12
   2.7.3.   Comparators ...........................................  12
   2.7.4.   Comparisons Against Addresses .........................  13
   2.8.     Blocks ................................................  14
   2.9.     Commands ..............................................  14
   2.10.    Evaluation ............................................  15
   2.10.1.  Action Interaction ....................................  15
   2.10.2.  Implicit Keep .........................................  15
   2.10.3.  Message Uniqueness in a Mailbox .......................  15
   2.10.4.  Limits on Numbers of Actions ..........................  16
   2.10.5.  Extensions and Optional Features ......................  16
   2.10.6.  Errors ................................................  17
   2.10.7.  Limits on Execution ...................................  17
   3.      Control Commands .......................................  17
   3.1.     Control Structure If ..................................  18
   3.2.     Control Structure Require .............................  19
   3.3.     Control Structure Stop ................................  19
   4.      Action Commands ........................................  19
   4.1.     Action reject .........................................  20
   4.2.     Action fileinto .......................................  20
   4.3.     Action redirect .......................................  21
   4.4.     Action keep ...........................................  21
   4.5.     Action discard ........................................  22
   5.      Test Commands ..........................................  22
Show full document text