Internet Engineering Task Force (IETF) N. Freed Request for Comments: 6009 Oracle Category: Standards Track October 2010 ISSN: 2070-1721
Sieve Email Filtering: Delivery Status Notifications and Deliver-By Extensions
Abstract
抽象
This document describes the "envelope-dsn", "redirect-dsn", "envelope-deliverby", and "redirect-deliverby" extensions to the Sieve email filtering language. The "envelope-dsn" and "envelope-deliverby" extensions provide access to additional envelope information provided by the delivery status notification (DSN) and Deliver-By SMTP extensions, respectively. The "redirect-dsn" and "redirect-deliverby" extensions extend Sieve's redirect action to provide control over delivery status notification and Deliver-By parameters, respectively.
この文書は、「封筒-DSN」、ふるいのメールフィルタリング言語に、「封筒-DELIVERBY」「-DSNをリダイレクトする」、および「リダイレクト-DELIVERBYを」拡張機能について説明します。 「エンベロープDSN」及び「エンベロープDELIVERBY」拡張配信状態通知(DSN)によって提供される追加のエンベロープ情報へのアクセスを提供し、配信-によりそれぞれSMTP拡張、。 「DSN-リダイレクト」と「リダイレクト-DELIVERBY」を機能拡張は、配信状態通知の管理を提供し、お届け-することにより、それぞれのパラメータ、するふるいのリダイレクトアクションを拡張します。
Status of This Memo
このメモのステータス
This is an Internet Standards Track document.
これは、インターネット標準化過程文書です。
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.
このドキュメントはインターネットエンジニアリングタスクフォース(IETF)の製品です。これは、IETFコミュニティの総意を表しています。これは、公開レビューを受けており、インターネットエンジニアリング運営グループ(IESG)によって公表のために承認されています。インターネット標準の詳細については、RFC 5741のセクション2で利用可能です。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6009.
このドキュメントの現在の状態、任意の正誤表、そしてどのようにフィードバックを提供するための情報がhttp://www.rfc-editor.org/info/rfc6009で取得することができます。
Copyright Notice
著作権表示
Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.
著作権(C)2010 IETF信託とドキュメントの作成者として特定の人物。全著作権所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
この文書では、BCP 78と、この文書の発行日に有効なIETFドキュメント(http://trustee.ietf.org/license-info)に関連IETFトラストの法律の規定に従うものとします。彼らは、この文書に関してあなたの権利と制限を説明するように、慎重にこれらの文書を確認してください。コードコンポーネントは、トラスト法規定のセクションで説明4.eおよび簡体BSDライセンスで説明したように、保証なしで提供されているよう簡体BSDライセンスのテキストを含める必要があり、この文書から抽出されました。
Table of Contents
目次
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 3. Capability Identifiers . . . . . . . . . . . . . . . . . . . . 4 4. Envelope-dsn Extension . . . . . . . . . . . . . . . . . . . . 4 4.1. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 5 5. Envelope-deliverby Extension . . . . . . . . . . . . . . . . . 6 5.1. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 7 6. redirect-dsn Extension . . . . . . . . . . . . . . . . . . . . 9 6.1. MAIL FROM Address Selection . . . . . . . . . . . . . . . 9 6.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . 9 7. redirect-deliverby Extension . . . . . . . . . . . . . . . . . 10 7.1. MAIL FROM Address Selection . . . . . . . . . . . . . . . 11 7.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . 11 8. Security Considerations . . . . . . . . . . . . . . . . . . . 11 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 10.1. Normative References . . . . . . . . . . . . . . . . . . . 13 10.2. Informative References . . . . . . . . . . . . . . . . . . 14 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 15
Sieve [RFC5228] is a language for filtering email messages at or around the time of final delivery. It is designed to be implementable on either a mail client or mail server. 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 [RFC3501] servers, as it has no user-controlled loops or the ability to run external programs.
ふるい[RFC5228]は、最終的な配達の時や周りの電子メールメッセージをフィルタリングするための言語です。メールクライアントまたはメールサーバーのいずれかで実施可能となるように設計されています。これにより、ユーザーは、それがユーザ制御ループまたは外部プログラムを実行する機能を持っていないとして、そのようなブラックボックス、インターネットメッセージアクセスプロトコル[RFC3501]のサーバ上などの任意のプログラムを実行することは許されないことがあり、メールサーバー上で実行されているに適しています。
The base Sieve specification defines the envelope extension and test to access information in the message envelope. Only information available in regular SMTP [RFC5321] is provided; additional information added to the SMTP envelope by SMTP extensions cannot be accessed.
ベースふるい仕様は、メッセージエンベロープ内の情報にアクセスするエンベロープ拡張及び試験を規定しています。正規SMTP [RFC5321]でのみ利用可能な情報が提供されます。 SMTPの拡張により、SMTPエンベロープに付加した追加情報にアクセスすることができません。
The "envelope-dsn" extension extends the envelope test to allow access to the additional envelope fields defined by the SMTP extension for delivery status notifications (DSNs) specified in RFC 3461 [RFC3461]. The "envelope-deliverby" extension extends the envelope test to allow access to the additional envelope fields defined by the Deliver-By SMTP extension defined in [RFC2852].
「エンベロープDSN」拡張は、RFC 3461 [RFC3461]で指定された配信状態通知(DSN)のSMTP拡張によって定義された追加のエンベロープフィールドへのアクセスを可能にするために、エンベロープテストを拡張します。 「エンベロープDELIVERBY」拡張は、[RFC2852]で定義された配信バイSMTP拡張によって定義された追加のエンベロープフィールドへのアクセスを可能にするために、エンベロープテストを拡張します。
The base Sieve specification also defines the redirect action, which sends the message to a different address. Redirect only allows specification of the new recipient address. The "redirect-dsn" extension extends redirect to allow specification of some fields defined by the delivery status notification SMTP extension. "redirect-deliverby" in turn provides the ability to set a time limit for delivery as specified in RFC 2852 [RFC2852].
ベースふるい仕様はまた、別のアドレスにメッセージを送信し、リダイレクトアクションを定義します。リダイレクトだけ新しい受信者アドレスの指定ができます。 「リダイレクト-DSN」拡張は、配信状態通知SMTP拡張によって定義されるいくつかのフィールドの指定を可能にするために、リダイレクト延びています。 「リダイレクト-DELIVERBY」を順番にRFC 2852 [RFC2852]で指定されるように送達するための制限時間を設定する機能を提供します。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
この文書のキーワード "MUST"、 "MUST NOT"、 "REQUIRED"、、、、 "べきではない" "べきである" "ないもの" "ものとし"、 "推奨"、 "MAY"、および "OPTIONAL" はあります[RFC2119]に記載されているように解釈されます。
The terms used to describe the various components of the Sieve language are taken from Section 1.1 of [RFC5228]. The nature and handling of Sieve errors are described in Section 2.10.6 of [RFC5228].
ふるい言語の様々な構成要素を記述するために使用される用語は、[RFC5228]のセクション1.1から取られます。ふるいエラーの性質と取り扱いは、[RFC5228]のセクション2.10.6に記載されています。
This document uses the ABNF notation specified in [RFC5234], and refers to the notify-esmtp-value ABNF production defined in Section 4.1 of [RFC3461].
このドキュメントは[RFC5234]で指定されたABNF表記法を使用して、[RFC3461]のセクション4.1で定義された通知-ESMTP値ABNFの産生を指します。
The capability strings associated with the extensions defined in this document are "envelope-dsn", "redirect-dsn", "envelope-deliverby", and "redirect-deliverby".
この文書で定義された拡張子に関連付けられている機能の文字列は、「封筒-DSN」、「リダイレクト-DSNを」、「封筒-DELIVERBY」、および「リダイレクト-DELIVERBYを」です。
The "envelope-dsn" extension does not define any new tests or actions; rather, it adds four values to the list of possible (case-insensitive) envelope-part strings defined in Section 5.4 of [RFC5228]:
「封筒-DSN」拡張子は、任意の新しいテストやアクションを定義しません。むしろ、それは[RFC5228]のセクション5.4で定義された可能(大文字と小文字を区別しない)エンベロープの部分文字列のリスト4つの値を加算します。
notify - Match the list of notification conditions, or NOTIFY values, associated with the TO address used in the SMTP RCPT TO command that resulted in this message getting delivered to this user. More than one notification condition can be in effect at once; each condition that is in effect is tested separately, and any match causes the test to succeed. The syntax and semantics of the NOTIFY parameter are defined in Section 4.1 of RFC 3461 [RFC3461] . Currently, the possible notification condition values are "NEVER", "SUCCESS", "FAILURE", and "DELAY". Note that the value "NEVER" is never combined with any other value.
通知 - 対処するために、このユーザに配信取得このメッセージが生じたコマンドへのSMTP RCPTで使用に関連した、通知条件のリストを一致させる、または値を通知します。複数の通知条件は、一度に有効にすることができます。有効になっている各条件を個別にテストされ、任意のマッチが成功するためにテストを引き起こします。 NOTIFYパラメータの構文とセマンティクスはRFC 3461のセクション4.1 [RFC3461]で定義されています。現在、可能な通知条件の値が「NEVER」、「SUCCESS」、「失敗」、および「DELAY」です。値「NEVER」は他の値と組み合わせることがないことに注意してください。
orcpt - Match the original recipient, or ORCPT, value associated with the TO address used in the SMTP RCPT TO command that resulted in this message getting delivered to this user, with xtext encoding removed. The syntax and semantics of the ORCPT parameter are defined in Section 4.2 of RFC 3461 [RFC3461].
ORCPTは - 元の受信者、またはORCPTと一致し、対処するためのものを指令するSMTP RCPTで使用に関連した値は削除さXTEXTエンコーディングで、このユーザに配信取得このメッセージになりました。 ORCPTパラメータの構文およびセマンティクスは、RFC 3461のセクション4.2 [RFC3461]で定義されています。
ret - Match the return of content, or RET, value given in the SMTP MAIL FROM command. The syntax and semantics of the RET parameter are defined in Section 4.3 of RFC 3461 [RFC3461]. The possible return of content values are "FULL" and "HDRS".
RET - コンテンツの復帰を一致させる、またはRET、SMTP MAIL FROMコマンドで指定された値。 RETパラメータの構文とセマンティクスはRFC 3461のセクション4.3 [RFC3461]で定義されています。コンテンツ値の可能なリターンは、「FULL」と「HDRS」です。
envid - Match the envelope identifier, or ENVID, value in decoded form given in the SMTP MAIL FROM command. The syntax and semantics of the ENVID parameter are defined in Section 4.4 of RFC 3461 [RFC3461].
ENVID - 封筒識別子と一致、またはENVID、SMTP MAIL FROMコマンドで与えられた復号された形での値。 ENVIDパラメータの構文およびセマンティクスは、RFC 3461のセクション4.4 [RFC3461]で定義されています。
The envelope test fails unconditionally for each of these envelope-part strings if the specified envelope parameter does not exist for the current message or recipient.
指定されたエンベロープパラメータは現在のメッセージまたは受信者のために存在しない場合は封筒のテストは、これらの封筒の部分文字列のそれぞれについて、無条件で失敗しました。
The envelope test's ADDRESS-PART argument assumes the string being tested has the syntax of an email address. None of the new envelope parts defined here have address syntax; accordingly, it is an error to specify an ADDRESS-PART argument in conjunction with these new envelope parts.
封筒テストのアドレス-PART引数は、テストされている文字列が電子メールアドレスの構文を持って想定しています。ここで定義された新しいエンベロープパーツはどれもアドレス構文を持っていません。したがって、これらの新しいエンベロープパーツと一緒にADDRESS-PART引数を指定するとエラーになります。
The "relational" extension [RFC5231] adds a match type called ":count". The count of an envelope test with an envelope-part of "orcpt", "ret", and "envid" is 1 if the corresponding SMTP parameter is present and 0 otherwise. The count of an envelope test with an envelope-part of "notify" is equal to the number of notification conditions specified and 0 if the NOTIFY parameter is not present.
「:数」「関係」の拡張[RFC5231]はと呼ばれるマッチタイプを追加します。対応するSMTPパラメータが存在し、そうでなければ0である場合、「ORCPT」、「RET」、および「ENVID」のエンベロープ部分とエンベロープ試験の数が1です。 NOTIFYパラメータが存在しない場合、「通知」のエンベロープ部分とエンベロープテストの回数は、通知指定された条件と0の数に等しいです。
The fact that the NOTIFY envelope parameter is multivalued and the notify envelope-part turns this into a list of values makes it easy to check to see if a given value is present without having to worry about other values:
NOTIFYエンベロープパラメータが多値れると通知封筒の部分は、値のリストにこれを変わるという事実は、それが簡単に他の値を気にすることなく、与えられた値が存在するかどうかを確認することができます:
require ["envelope", "envelope-dsn"];
[ "封筒"、 "封筒-DSN"]が必要です。
# Check whether SUCCESS notifications were requested, # irrespective of any other requests that were made if envelope "notify" "SUCCESS" { # do whatever }
#SUCCESS通知が要求されたかどうかをチェックし、関係なく、エンベロープは「SUCCESS「を通知する」場合には行われた任意の他の要求の#」{#何を行います}
Checking to see if a given request is the only one present is a little trickier, however:
与えられた要求が一つだけ存在するかどうかを確認するためにチェックすることが、少しトリッキーです。
require ["envelope", "envelope-dsn", "relational", "comparator-i;ascii-numeric"];
[ "封筒"、 "封筒-DSN" を、 "リレーショナル"、 "コンパレータ-I; ASCII数字"]が必要です。
# Check whether only FAILURE notifications were requested if allof ( envelope "notify" "FAILURE", envelope :comparator "i;ascii-numeric" :count "eq" "notify" "1" ) { # do whatever }
{#行うどんな}:;:#ALLOF(「カウント「「」1「を通知する」EQ」をASCII数字I封筒「FAILURE「を通知し」」コンパレータ、封筒」)場合にのみFAILURE通知が要求されたかどうかをチェックします
The orcpt envelope-part always contains an address type indicator prefix in addition to an address, which must be taken into account in any tests: require ["envelope", "envelope-dsn"];
ORCPTエンベロープの部分は常にテストする際に考慮しなければならないアドレスに加えて、アドレス・タイプ・インジケータの接頭辞が含まれています:[「封筒」、「封筒-DSNを」]が必要です。
# See if the orcpt is an RFC822 address in the example.com # domain if envelope :matches "orcpt" "rfc822;*@example.com" { # do whatever }
* @ example.com "{#何でも};マッチ "ORCPT"" RFC822:封筒があればORCPTがexample.comの#ドメイン内のRFC822アドレスがある場合には#を参照してください。
The "envelope-deliverby" extension does not define any new tests or actions; rather, it adds four values to the list of possible (case-insensitive) envelope-part strings defined in Section 5.4 of [RFC5228] and an optional :zone tagged argument. This updates the usage description for envelope to:
「封筒-DELIVERBY」拡張子は、新しいテストやアクションを定義しません。ゾーンタグ付けされた引数:むしろ、それは[RFC5228]のセクション5.4で定義された可能(大文字と小文字を区別しない)エンベロープの部分文字列とオプションのリスト4つの値を加算します。これはへのエンベロープの使用方法の説明を更新します。
Usage: envelope [COMPARATOR] [ADDRESS-PART] [MATCH-TYPE] [:zone <time-zone: string>] <envelope-part: string-list> <key-list: string-list>
使用方法:封筒[コンパレータ] [ADDRESS-PART] [MATCH-TYPE] [:ゾーン<タイムゾーン:文字列>] <封筒の部分:文字列のリスト> <キーリスト:文字列のリスト>
These new envelope parts correspond to the new MAIL FROM parameters defined in Section 4 of [RFC2852]. They are:
これらの新しいエンベロープ部分は[RFC2852]のセクション4で定義されたパラメータから、新しいメールに対応します。彼らです:
bytimeabsolute - Match the current value of the initial integer part of the Deliver-By extension's BY parameter on the SMTP MAIL FROM command, converted into an absolute time represented in restricted ISO 8601 format. The restricted ISO 8601 format is specified by the date-time ABNF production given in [RFC3339], Section 5.6, with the added restrictions that the letters "T" and "Z" MUST be in upper case, and a time zone offset of zero MUST be represented by "Z" and not "+00:00".
bytimeabsolute - コマンドFROM SMTPメールで配信することにより、拡張のBYパラメータの初期の整数部分の現在の値と一致し、制限されたISO 8601フォーマットで表される絶対時間に変換されます。制限されたISO 8601形式は文字「T」および「Z」は大文字でなければなりません追加の制限が、[RFC3339]、セクション5.6で指定された日時ABNF生産によって指定され、タイムゾーンは、ゼロオフセットされます「Z」ではなく「:00 00」で表されなければなりません。
bytimerelative - Match the current value of the initial integer part of the Deliver-By extension's BY parameter specified in the SMTP MAIL FROM command.
bytimerelative - SMTP MAIL FROMコマンドで指定された配信バイ延長のBYパラメータの初期整数部の現在の値と一致しています。
bymode - Match a string computed from the by-mode part of the Deliver-By extension's BY parameter. The possible values are "notify" and "return", which correspond to the BY parameter mode specifier characters "N" and "R", respectively.
bymode - お届けバイ延長のBYパラメータのbymode部分から計算文字列と一致します。可能な値は「通知する」とはそれぞれ、BYパラメータモード指定子文字「N」と「R」に対応し、「戻る」されています。
bytrace - Match the trace modifier computed from the by-trace modifier on the Deliver-By extension's BY parameter. The possible values are "trace" and "" (the empty string). These values correspond to the presence or absence of the by-trace "T" modifier, respectively.
bytrace - お届けバイ延長のBYパラメータにbytrace修飾子から計算トレース修飾子と一致します。可能な値は、「トレース」と「」(空の文字列)です。これらの値は、それぞれ、バイ・トレース「T」改質剤の存在または非存在に対応します。
The envelope test fails unconditionally for each of these envelope-part strings if the BY SMTP MAIL FROM parameter does not exist for the current message or recipient.
パラメータFROM BY SMTPのMAILが現在のメッセージまたは受信者のために存在しない場合は封筒のテストは、これらの封筒の部分文字列のそれぞれについて、無条件で失敗しました。
The new :zone argument specifies a time zone offset string that any bytimeabsolute value is to be shifted to prior to testing. :zone has no effect on envelope-parts other than bytimeabsolute. The value of the time zone offset string MUST be an offset relative to UTC with the following syntax:
新しい:ゾーン引数は、任意のbytimeabsolute値が試験前にシフトされるタイムゾーンのオフセット文字列を指定します。 :ゾーンはbytimeabsolute以外の封筒の部分には影響しません。タイムゾーンのオフセット文字列の値は、次の構文を使用してUTCに対してオフセットしなければなりません。
time-zone = ( "+" / "-" ) 4DIGIT
タイムゾーン=( "+" / " - ")4桁
The "+" or "-" indicates whether the time-of-day is ahead of (i.e., east of) or behind (i.e., west of) UTC. The first two digits indicate the number of hours difference from Universal Time, and the last two digits indicate the number of minutes difference from Universal Time. Note that this agrees with the [RFC5322] format for time zone offsets, not the ISO 8601 format. The local time zone MUST be used for bytimeabsolute if the :zone argument is omitted.
「+」または「 - 」の時刻が先の(即ち、東)または後ろUTC(のすなわち、西)であるかどうかを示します。最初の2桁は世界時からの時間差の数を示し、最後の2桁は世界時からの分差の数を示しています。これは、タイムゾーンオフセットのための[RFC5322]形式ではなく、ISO 8601形式と一致していることに注意してください。ゾーン引数省略されています場合、ローカルタイムゾーンがbytimeabsoluteを使用しなければなりません。
The envelope test's ADDRESS-PART argument assumes the string being tested has the syntax of an email address. None of the new envelope parts defined here have address syntax; accordingly, it is an error to specify an ADDRESS-PART argument in conjunction with these new envelope parts.
封筒テストのアドレス-PART引数は、テストされている文字列が電子メールアドレスの構文を持って想定しています。ここで定義された新しいエンベロープパーツはどれもアドレス構文を持っていません。したがって、これらの新しいエンベロープパーツと一緒にADDRESS-PART引数を指定するとエラーになります。
The "relational" extension [RFC5231] adds a match type called ":count". The count of an envelope test with an envelope-part of "bytime", "bymode", and "bytrace" is 1 if the BY parameter is present and 0 otherwise.
「:数」「関係」の拡張[RFC5231]はと呼ばれるマッチタイプを追加します。 BYパラメータが存在し、そうでなければ0である場合、「bytime」、「bymode」、および「bytrace」のエンベロープ部分とエンベロープ試験の数が1です。
It is important to note that the Deliver-By by-time is decremented as the message passes through the transport infrastructure. Accordingly, it is not possible to tell what the message originator set the value to; only the amount of time remaining at the moment the sieve is run can be determined. Additionally, note that bytimerelative values can be negative, making it necessary to either perform additional checks or else use a comparator that, unlike i;ascii-numeric, is capable of handling signed integers.
メッセージが輸送インフラを通過するときに届けバイにより、時間が減算されることに注意することが重要です。これにより、メッセージの発信者がに値を設定したもの伝えることはできません。ふるいが実行される瞬間に残り時間の量を決定することができます。また、bytimerelative値は、それが必要な追加のチェックを実行するか、他に、私とは違って、コンパレータを使用するかになって、負になることに注意して、ASCII数字、符号付き整数を処理することが可能です。
As noted above, this extension does not provide access to the originator's initial by-time setting for the simple reason that this information is not part of the envelope. It can, however, be used to check and see if the message was delivered within the allotted time. Note the additional check to see if the value is negative: require ["envelope", "envelope-deliverby", "relational", "comparator-i;ascii-numeric"];
上述したように、この拡張は、この情報は、エンベロープの一部ではないという単純な理由のために設定することで、時間発信者のイニシャルへのアクセスを提供していません。しかし、チェックして、メッセージが割り当てられた時間内に配信されたかどうかを確認するために使用することができます。値が負であるかどうかを確認するために追加のチェックに注意してください:[「封筒」、「封筒-DELIVERBY」、「リレーショナル」、「コンパレータ-I;アスキー・数値を」]が必要です。
# Check to see if this message didn't make it in the time allotted by # the originator. if anyof (envelope :contains "bytimerelative" "-", envelope :value "eq" :comparator "i;ascii-numeric" "bytimerelative" "0") { # do whatever }
#このメッセージは、#発信者によって割り当てられた時間内にそれをしなかったかどうかを確認してください。 anyof場合(エンベロープ: "bytimerelative" "含ま - "、封筒:値 "EQ":比較 "私は、ASCII数字 "0"" "bytimerelative"){位何を行います}
This operation can be done more simply if the date [RFC5260] and variables [RFC5229] extensions are available:
この操作は、より簡単に日付[RFC5260]と変数は、[RFC5229]の拡張機能が利用可能な場合に行うことができます。
require ["envelope", "envelope-deliverby", "relational", "date", "variables"];
[「封筒」、「エンベロープ・DELIVERBY」、「リレーショナル」、「日付」、「変数」]が必要です。
# Check to see if this message didn't make it in the time allotted by # the originator. if currentdate :matches "iso8601" "*" { set "cdate" "${0}"; if envelope :value "ge" "bytimeabsolute" "${cdate}" { # do whatever } }
#このメッセージは、#発信者によって割り当てられた時間内にそれをしなかったかどうかを確認してください。もしCURRENTDATE:マッチ "ISO8601" "*" {セット "CDATE" "$ {0}"。もし封筒:値 "GE" "bytimeabsolute" "$ {CDATE}" {#は何でも}}
Note that there is no need to force the use of a particular time zone since both currentdate and the bytimeabsolute value are required to default to the local time zone. A similar check could be written using :zone if the action taken depends on having the by-time represented in a particular zone:
CURRENTDATEとbytimeabsolute値の両方がローカルタイムゾーンにデフォルト設定するために必要とされているので、特定の時間帯の使用を強制する必要がないことに注意してください。実行されるアクションは、特定のゾーンに示さによって時間を有するに依存している場合ゾーン:同様のチェックを使用して書くことができます。
require ["envelope", "envelope-deliverby", "relational", "date", "variables"];
[「封筒」、「エンベロープ・DELIVERBY」、「リレーショナル」、「日付」、「変数」]が必要です。
# If the message didn't make it in time, file it according to when it # should have been received if envelope :matches :zone "+0000" "bytimeabsolute" "*T*:*:*" { set "bdate" "${0}"; set "bhour" "${2}"; if currentdate :zone "+0000" :value "lt" "iso8601" "${bdate}") fileinto "missed-${bhour}"; } }
The "redirect-dsn" extension does not define any new tests or actions; rather, it adds two new arguments, NOTIFY and RET, to the redirect action defined in Section 4.2 of [RFC5228]. This updates the usage description for redirect to:
「リダイレクト-DSN」拡張子は、任意の新しいテストやアクションを定義しません。むしろ、それは[RFC5228]のセクション4.2で定義されたリダイレクトアクションに、NOTIFYおよびRET、二つの新しい引数を追加します。これは、リダイレクト先の使用説明を更新します。
Usage: redirect [:notify "value"] [:ret "FULL"|"HDRS"] <address: string>
使用方法:リダイレクト[: "の値を" 通知] [:RET "FULL" | "HDRS"] <アドレス:文字列>
The syntax for the NOTIFY and RET arguments are:
NOTIFYおよびRETの引数の構文は以下のとおりです。
NOTIFY = ":notify" notify-value notify-value = DQUOTE ("NEVER" / notify-esmtp-list) DQUOTE notify-esmtp-list = notify-list-element *("," notify-list-element)
"通知" 通知値通知値を= DQUOTE( "NEVER" /通知-ESMTPリスト)DQUOTE通知-ESMTPリスト=通知リスト要素(* "" 通知リスト要素)=をNOTIFY
RET = ":ret" ret-value ret-value = DQUOTE ("FULL" / "HDRS") DQUOTE
RIGHT = "右" 正しい値を右値= DQUOTE( "FULL" / "HDRS")DQUOTE
The notify-list-element ABNF production is defined in Section 4.1 of [RFC3461].
生産ABNF通知リスト要素は[RFC3461]のセクション4.1で定義されています。
When these arguments are specified, they set the corresponding NOTIFY ESMTP RCPT TO and RET ESMTP MAIL FROM parameters, respectively. These arguments are only honored if the delivery status notification (DSN) ESMTP extension is available. When the DSN extension is not available, these arguments MUST be ignored and MUST NOT cause an error.
これらの引数が指定されている場合、彼らはそれぞれ対応し、パラメータからESMTP RCPT TOおよびRET ESMTP MAILをNOTIFY設定しました。配信状態通知(DSN)ESMTPの拡張機能が利用可能な場合、これらの引数は唯一光栄です。 DSN拡張が利用できない場合は、これらの引数を無視しなければなりませんし、エラーを引き起こしてはなりません。
RFC 5228 does not require that any particular envelope sender address be associated with redirected messages. However, the redirect-dsn extension isn't terribly useful if the place where the delivery status notifications are sent isn't known. Accordingly, when either :notify or :ret is specified and the envelope sender address isn't empty, implementations MUST set the envelope sender address to the address of the sieve owner.
RFC 5228は、任意の特定のエンベロープ送信者アドレスがリダイレクトされたメッセージに関連する必要はありません。配信状態通知が送信される場所は知られていない場合は、リダイレクト-DSN拡張はそれほど有用ではありません。従って、次のいずれかを通知したり:RETが指定され、エンベロープ送信者アドレスが空でない場合、実装は、ふるいの所有者のアドレスにエンベロープ送信者アドレスを設定しなければなりません。
One possible use of :notify on redirect is to combine the copy extension [RFC3894] with the ability to suppress nondelivery notifications to generate a private copy of selected messages with no side effects or error notifications: require ["copy", "redirect-dsn"];
一つの可能な使用:リダイレクトで通知が副作用のない、またはエラー通知に選択されたメッセージのプライベートコピーを生成する不達通知を抑制する能力にコピー拡張[RFC3894]を組み合わせることである:「、[「コピー」を必要とリダイレクト-DSN 「];
# Make a private copy of messages from user@example.com if address "from" "user@example.com" { redirect :copy :notify "NEVER" "elsewhere@example.com"; }
user@example.com「「から」アドレスは」{リダイレクト:コピー:通知「場合#user@example.comからのメッセージのプライベートコピーを作成しますNEVER」「elsewhere@example.com」。 }
The "redirect-deliverby" extension does not define any new tests or actions; rather, it adds three new arguments, BYTIME, BYMODE, and BYTRACE, to the redirect action defined in Section 4.2 of [RFC5228]. This updates the usage description for redirect to:
「リダイレクト-DELIVERBYを」拡張は、新しいテストやアクションを定義しません。むしろ、それは[RFC5228]のセクション4.2で定義されたリダイレクトアクションに、3新しい引数、BYTIME、BYMODE、およびBYTRACEを追加します。これは、リダイレクト先の使用説明を更新します。
Usage: redirect [:bytimerelative <rlimit: number> / :bytimeabsolute <alimit:string> [:bymode "notify"|"return"] [:bytrace]] <address: string>
使用方法:リダイレクト[:bytimerelative <RLIMIT:番号> /:bytimeabsolute <alimit:文字列> [: "通知" bymode | [] "リターン":bytrace]] <アドレス:文字列>
:bytimerelative specifies the number of seconds within which the message should be delivered. This parameter does not allow specification of negative values; it should not be necessary to specify such values in this context. :bytimeabsolute specifies an absolute time limit on delivery. The limit in this case is specified in the restricted ISO 8601 format specified by the date-time ABNF production given in [RFC3339].
:bytimerelativeは、メッセージが配信されるべき範囲内の秒数を指定します。このパラメータには、負の値の指定を許可していません。この文脈では、このような値を指定する必要はありません。 :bytimeabsoluteは、配達上の絶対時間制限を指定します。この場合の制限は、[RFC3339]で与えられた日時ABNF生産によって指定された制限されたISO 8601形式で指定されています。
:bymode specifies whether a notification should be sent or the message simply returned if the time limit is exceeded. The default is "return" if :bymode is not specified. :bytrace, if specified, activates message tracing.
:bymodeは、制限時間を超えた場合に通知が送られるべきか、メッセージが単に返されたかどうかを指定します。 bymodeが指定されていない:場合は、デフォルトでは「戻る」されます。 :bytraceは、指定された場合は、メッセージのトレースをアクティブにします。
The semantics of delivery time limits and these parameters are specified and discussed at length in [RFC2852].
配達時間の制限及びこれらのパラメータの意味は、指定されたと[RFC2852]の長さで議論されています。
It is an error to specify either :bymode or :bytrace without either :bytimeabsolute or :bytimerelative.
bytimeabsoluteか::bytimerelativeいずれかなしbytrace:bymodeか:どちらかを指定するとエラーになります。
When these arguments are specified, they are used to construct the corresponding BY ESMTP MAIL FROM parameter. The :bytimeabsolute or :bytimerelative value becomes the by-time, the :bymode becomes the by-mode value, and :bytrace sets the by-trace modifier. If the Deliver-By extension is unavailable, the handling of the redirected message MUST conform to the semantics specified in [RFC2852], Section 4.1.4 for relaying to a server that does not support the Deliver-By SMTP extension.
これらの引数が指定されている場合、彼らは、パラメータから対応するBY ESMTPメールを構築するために使用されています。 :bytimeabsoluteまたは:bytimerelative値により、時間となる、:bymodeはbymode値となり、:bytrace修飾子を設定bytrace。配信バイ拡張子が使用できない場合は、リダイレクトメッセージの取り扱いは、[RFC2852]で指定されたセマンティクス、お届けバイSMTPを拡張をサポートしていないサーバに中継するためのセクション4.1.4に従わなければなりません。
RFC 5228 does not require that any particular envelope sender address be associated with redirected messages. However, the redirect-deliverby extension, like the redirect-dsn extension, isn't terribly useful if the place where any delivery status notifications are sent isn't known. Accordingly, when either :bytimeabsolute or :bytimerelative is specified and the envelope sender address isn't empty, implementations MUST set the envelope sender address to the address of the sieve owner.
RFC 5228は、任意の特定のエンベロープ送信者アドレスがリダイレクトされたメッセージに関連する必要はありません。任意の配信状態通知が送信される場所は知られていない場合は、リダイレクトDELIVERBY拡張、リダイレクト-DSN拡張のような、ひどく有用ではありません。 bytimeabsoluteまたは:のいずれかの際に、bytimerelativeが指定され、エンベロープ送信者アドレスが空ではないが、実装は、ふるいの所有者のアドレスにエンベロープ送信者アドレスを設定しなければなりません。
The obvious use of "redirect-deliverby" is to specify a limit on delivery attempts for a redirected message:
「リダイレクト-DELIVERBY」の明らかな使用は、リダイレクトされたメッセージの配信試行に制限を指定することです。
require ["copy", "redirect-deliverby"];
[ "-DELIVERBYをリダイレクトする"、 "コピー"]が必要です。
# Send a copy to my cell phone, time out after 10 minutes if address "from" "user@example.com" { redirect :copy :bytimerelative 600 "cellphone@example.com"; }
#アドレス場合は、「{リダイレクト:コピー:bytimerelative 600」user@example.com「「から」10分後に、私の携帯電話に時間をコピーを送信cellphone@example.comを」。 }
Limits on delivery after a particular time of day may also be constructed:
その日の特定の時間後に配信の制限も構築することができます。
require ["copy", "redirect-deliverby", "date", "variables", "relational", "comparator-i;ascii-numeric"];
[ "; ASCII数値コンパレータ-I"、 "日付"、 "変数"、 "リレーショナル"、 "-DELIVERBYをリダイレクトする"、 "コピー"]が必要です。
# Send a copy to my cell phone to be delivered before 10PM if currentdate :value "lt" :comparator "i;ascii-numeric" "hour" "22" { if currentdate :matches "date" "*" {set "date" "${0}";} if currentdate :matches "zone" "*" {set "zone" "${0}";} redirect :copy :bytimeabsolute "${date}T20:00:00${zone}" :bymode "return" "cellphone@example.com"; }
マッチ「日付」「*」{セット「日時:;:値「LT」:「時」「22」{CURRENTDATEかのコンパレータ「ASCII数値I」#CURRENTDATE場合は午後10時前に配信されるように私の携帯電話にコピーを送信" "$ {0}";} CURRENTDATE場合:マッチ "ゾーン" "*"{セット "ゾーン" "$ {0}";}リダイレクト:コピー:bytimeabsolute" $ {日} T20:00:00 $ {ゾーン}」:bymode "戻る" "cellphone@example.com"。 }
The envelope-dsn and envelope-deliverby extensions provide access to additional message envelope information. This is not believed to raise any additional security issues beyond those for the Sieve "envelope" test.
封筒-DSNとエンベロープDELIVERBYの拡張機能は、追加のメッセージエンベロープ情報へのアクセスを提供します。これをふるい、「封筒」のテスト用のものを超えて追加のセキュリティ上の問題を提起することは考えられません。
The redirect-dsn extension allows specification of the delivery status notification's NOTIFY parameter, which can cause the generation of notification messages that might otherwise not be generated, especially if notification in the event of successful delivery is required. Sites that limit the ability to request success notifications will also need to restrict the ability to request them using the redirect-dsn extension.
リダイレクト-DSN拡張は、そうでない場合は正常に配信した場合に通知が必要な場合は特に、生成されない可能性があり、通知メッセージの生成を引き起こす可能性が配信状態通知のNOTIFYパラメータの指定ができます。成功の通知を要求する能力を制限するサイトもリダイレクト-DSN拡張子を使用してそれらを要求する能力を制限する必要があります。
Similarly, the redirect-deliverby extension is used to control how long the transport infrastructure will continue to attempt to deliver a message before giving up, which could result in the generation of additional notification messages. While the underlying Deliver-By extension does have a minimum by-time limit, sites may wish to impose additional limits on the minimum by-time allowed in a redirect action.
同様に、リダイレクトDELIVERBY拡張は輸送インフラは、追加の通知メッセージの生成につながる可能性がある、あきらめる前にメッセージを配信しようとしていきますどのくらいの時間を制御するために使用されます。基礎となる配信し-による伸長が最小バイ・時間制限を持っていますが、サイトがリダイレクトアクションで許可することによって、時間の最小に追加制限を課すことを望むかもしれません。
All of the security considerations given in the base Sieve specification also apply to this extension.
基本ふるい仕様で与えられたセキュリティ上の考慮事項のすべても、この拡張に適用されます。
The following template specifies the IANA registration of the Sieve extension specified in this document:
次のテンプレートは、この文書で指定されたSieve拡張のIANA登録を指定します。
To: iana@iana.org Subject: Registration of new Sieve extensions
To:iana@iana.org件名:新しいふるい拡張子の登録
Capability name: envelope-dsn Description: The "envelope-dsn" extension extends the envelope test to allow checking of information associated with the DSN ESMTP extension defined in RFC 3461. RFC number: RFC 6009 Contact address: Sieve discussion list <sieve@ietf.org>
能力名:封筒 - DSNの説明:RFC 6009連絡先アドレス:ふるいディスカッションリスト<ふるい@ IETF「封筒-DSN」の拡張子は、RFC 3461. RFC番号で定義されたDSN ESMTP拡張子に関連付けられた情報の確認できるように、エンベロープのテストを拡張します.ORG>
Capability name: envelope-deliverby Description: The "envelope-deliverby" extension extends the envelope test to allow checking of information associated with the Deliver-By ESMTP extension defined in RFC 2852. RFC number: RFC 6009 Contact address: Sieve discussion list <sieve@ietf.org>
能力名:エンベロープ・DELIVERBY説明:RFC 6009連絡先アドレス:ふるいディスカッションリスト<ふるい「エンベロープDELIVERBY」拡張子がRFCに2852. RFC番号を定義して配信し-ことでESMTP拡張子に関連付けられた情報の確認を可能にするために、エンベロープのテストを拡張@ ietf.org>
Capability name: redirect-dsn Description: The "redirect-dsn" extension extends the redirect action to allow specification of the NOTIFY and RET ESMTP parameters associated with the DSN SMTP extension defined in RFC 3461. RFC number: RFC 6009 Contact address: Sieve discussion list <sieve@ietf.org>
機能名:リダイレクト-DSNの説明:RFC 6009連絡先アドレス:ふるいディスカッション「リダイレクト-DSNを」拡張はRFCに3461. RFC数を定義されたDSN SMTP拡張と関連付けられて通知し、RET ESMTPのパラメータの仕様を可能にするために、リダイレクトアクションを拡張リスト<sieve@ietf.org>
Capability name: redirect-deliverby Description: The "redirect-deliverby" extension extends the redirect action to allow specification of the BY ESMTP parameter associated with the Deliver-By SMTP extension defined in RFC 2852. RFC number: RFC 6009 Contact address: Sieve discussion list <sieve@ietf.org>
機能名:リダイレクト-DELIVERBY説明:RFC 6009連絡先アドレス:ふるいディスカッション「リダイレクト-DELIVERBY」を拡張は、RFC 2852. RFC番号で定義された配信バイSMTP拡張に関連付けられBY ESMTPパラメータの指定を可能にするために、リダイレクトアクションを拡張しますリスト<sieve@ietf.org>
This information has been added to the list of Sieve extensions available from http://www.iana.org.
この情報は、http://www.iana.orgから入手ふるい拡張子のリストに追加されました。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。
[RFC2852] Newman, D., "Deliver By SMTP Service Extension", RFC 2852, June 2000.
[RFC2852]ニューマン、D.、2000年6月、RFC 2852 "SMTPサービス拡張により、お届け"。
[RFC3339] Klyne, G., Ed. and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, July 2002.
[RFC3339] Klyne、G.、エド。そして、C.ニューマン、「インターネット上の日付と時刻:タイムスタンプ」、RFC 3339、2002年7月。
[RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery Status Notifications (DSNs)", RFC 3461, January 2003.
[RFC3461]ムーア、K.、 "配信状態通知のための簡易メール転送プロトコル(SMTP)サービス拡張(DSNの)"、RFC 3461、2003年1月。
[RFC5228] Guenther, P. and T. Showalter, "Sieve: An Email Filtering Language", RFC 5228, January 2008.
[RFC5228]ギュンター、P.およびT.ショーウォルター監督、 "ふるい:メールフィルタリング言語"、RFC 5228、2008年1月。
[RFC5231] Segmuller, W. and B. Leiba, "Sieve Email Filtering: Relational Extension", RFC 5231, January 2008.
[RFC5231] Segmuller、W.及びB. Leiba、 "ふるいメールフィルタリング:リレーショナル拡張"、RFC 5231、2008年1月。
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.
[RFC5234]クロッカー、D.、およびP. Overell、 "構文仕様のための増大しているBNF:ABNF"、STD 68、RFC 5234、2008年1月。
[RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, October 2008.
[RFC5321] Klensin、J.、 "簡易メール転送プロトコル"、RFC 5321、2008年10月。
[RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, October 2008.
[RFC5322]レズニック、P.、エド。、 "インターネットメッセージ形式"、RFC 5322、2008年10月。
[RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003.
[RFC3501]のCrispin、M.、 "インターネットメッセージアクセスプロトコル - VERSION 4rev1"、RFC 3501、2003年3月。
[RFC3894] Degener, J., "Sieve Extension: Copying Without Side Effects", RFC 3894, October 2004.
[RFC3894] Degener、J.、 "ふるい拡張子:副作用なしコピー"、RFC 3894、2004年10月。
[RFC5229] Homme, K., "Sieve Email Filtering: Variables Extension", RFC 5229, January 2008.
[RFC5229]オム、K.、 "ふるいメールフィルタリング:変数の拡張"、RFC 5229、2008年1月。
[RFC5260] Freed, N., "Sieve Email Filtering: Date and Index Extensions", RFC 5260, July 2008.
[RFC5260]解放され、N.、 "ふるいメールフィルタリング:日付とインデックス拡張機能"、RFC 5260、2008年7月。
Appendix A. Acknowledgements
付録A.謝辞
Cyrus Daboo, Derek Diget, Philip Guenther, Arnt Gulbrandsen, Tero Kivinen, Barry Leiba, Andrew McKeon, Alexey Melnikov, Chris Newman, Aaron Stone, and Alexandros Vellis provided helpful suggestions and corrections.
サイラスDaboo、デレクDiget、フィリップ・ギュンター、ARNT Gulbrandsenの、TERO Kivinen、バリー・レイバ、アンドリュー・マッキオン、アレクセイ・メルニコフ、クリス・ニューマン、アーロン・ストーン、そしてアレクサンドロスVellisは有益な提案や修正を提供しました。
Author's Address
著者のアドレス
Ned Freed Oracle 800 Royal Oaks Monrovia, CA 91016-6347 USA
ネッドフリードオラクル800のロイヤルオークスモンロビア、カリフォルニア州91016から6347 USA
EMail: ned.freed@mrochek.com
メールアドレス:ned.freed@mrochek.com