[要約] RFC 6785は、SieveでのInternet Message Access Protocol(IMAP)イベントのサポートに関する規格です。このRFCの目的は、Sieveスクリプトを使用してIMAPイベントを処理するための仕組みを提供することです。

Internet Engineering Task Force (IETF)                          B. Leiba
Request for Comments: 6785                           Huawei Technologies
Updates: 5228                                              November 2012
Category: Standards Track
ISSN: 2070-1721
        

Support for Internet Message Access Protocol (IMAP) Events in Sieve

Sieveでのインターネットメッセージアクセスプロトコル(IMAP)イベントのサポート

Abstract

概要

Sieve defines an email filtering language that can, in principle, plug into any point in the processing of an email message. As defined in the base specification, it plugs into mail delivery. This document defines how Sieve can plug into points in IMAP where messages are created or changed, adding the option of user-defined or installation-defined filtering (or, with Sieve extensions, features such as notifications). Because this requires future Sieve extensions to specify their interactions with this one, this document updates the base Sieve specification, RFC 5228.

Sieveは、原則として、電子メールメッセージの処理の任意のポイントにプラグインできる電子メールフィルタリング言語を定義します。基本仕様で定義されているように、メール配信にプラグインします。このドキュメントでは、メッセージが作成または変更されるIMAPのポイントにSieveがどのようにプラグインできるかを定義し、ユーザー定義またはインストール定義のフィルタリングのオプションを追加します(またはSieve拡張機能では、通知などの機能)。これには、これとの相互作用を指定するために将来のSieve拡張が必要であるため、このドキュメントでは、ベースSieve仕様であるRFC 5228を更新します。

Status of This Memo

本文書の状態

This is an Internet Standards Track document.

これはInternet Standards Trackドキュメントです。

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(Internet Engineering Task Force)の製品です。これは、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/rfc6785.

このドキュメントの現在のステータス、正誤表、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc6785で入手できます。

Copyright Notice

著作権表示

Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright(c)2012 IETF Trustおよびドキュメントの作成者として特定された人物。全著作権所有。

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文書に関するIETFトラストの法的規定(http://trustee.ietf.org/license-info)の対象となります。これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、Trust Legal Provisionsのセクション4.eに記載されているSimplified BSD Licenseのテキストが含まれている必要があり、Simplified BSD Licenseに記載されているように保証なしで提供されます。

Table of Contents

目次

   1. Introduction ....................................................3
      1.1. Overview ...................................................3
      1.2. Differences between IMAP Events and Mail Delivery ..........4
      1.3. Conventions Used in This Document ..........................5
   2. The "IMAP Events in Sieve" Extension ............................5
      2.1. The "imapsieve" Capability Strings .........................5
      2.2. Existing IMAP Functions Affected by IMAP Events in Sieve ...5
           2.2.1. The IMAP APPEND Command .............................6
           2.2.2. The IMAP COPY Command ...............................6
           2.2.3. Changes to IMAP Message Flags .......................6
           2.2.4. When Script Actions Set the \Deleted Flag ...........7
      2.3. New Functions Defined by IMAP Events in Sieve ..............7
           2.3.1. Interaction with Metadata ...........................7
   3. Applicable Sieve Actions and Interactions .......................8
      3.1. The Implicit Keep ..........................................9
      3.2. The "keep" Action ..........................................9
      3.3. The "fileinto" Action ......................................9
      3.4. The "redirect" Action ......................................9
      3.5. The "discard" Action ......................................10
      3.6. The "notify" Action .......................................10
      3.7. The "addheader" and "deleteheader" Actions ................10
      3.8. The "setflag", "deleteflag", and "removeflag" Actions .....11
      3.9. MIME Part Tests and Replacement ...........................11
      3.10. spamtest and virustest ...................................11
      3.11. Inapplicable Actions .....................................11
      3.12. Future Sieve Actions .....................................12
        
   4. Interaction with Sieve Environment .............................12
      4.1. Base Sieve Environment Items: location and phase ..........12
      4.2. New Sieve Environment Items: imap.user and imap.email .....12
      4.3. New Sieve Environment Item: imap.cause ....................13
      4.4. New Sieve Environment Item: imap.mailbox ..................13
      4.5. New Sieve Environment Item: imap.changedflags .............13
      4.6. Interaction with Sieve Tests (Comparisons) ................13
   5. Examples .......................................................14
   6. Security Considerations ........................................15
   7. IANA Considerations ............................................16
      7.1. Registration of "imapsieve" IMAP Capability ...............16
      7.2. Registration of "imapsieve" Sieve Extension ...............16
      7.3. Registration of Sieve Environment Items ...................16
           7.3.1. Registration of Sieve Environment Item:
                  imap.cause .........................................16
           7.3.2. Registration of Sieve Environment Item:
                  imap.mailbox .......................................17
           7.3.3. Registration of Sieve Environment Item:
                  imap.changedflags ..................................17
           7.3.4. Registration of Sieve Environment Item: imap.user ..17
           7.3.5. Registration of Sieve Environment Item:
                  imap.email .........................................17
      7.4. Registration of IMAP METADATA Mailbox Entry Name ..........18
      7.5. Registration of IMAP METADATA Server Entry Name ...........18
   8. References .....................................................18
      8.1. Normative References ......................................18
      8.2. Informative References ....................................19
        
1. Introduction
1. はじめに
1.1. Overview
1.1. 概観

Some applications have a need to apply Sieve filters [RFC5228] in contexts other than initial mail delivery. This is especially true in diverse service environments, such as when the client is sporadically connected, is connected through a high-latency or high-cost channel, or is on a limited-function device. For such clients, it may be very important, for higher performance and reliability, to take advantage of server capabilities, including those provided by Sieve filtering (and Sieve extensions, such as Notify [RFC5435]).

一部のアプリケーションでは、最初のメール配信以外のコンテキストでSieveフィルター[RFC5228]を適用する必要があります。これは、クライアントが散発的に接続されている、高遅延または高コストのチャネルを介して接続されている、機能が制限されたデバイス上にあるなど、さまざまなサービス環境で特に当てはまります。そのようなクライアントにとって、より高いパフォーマンスと信頼性のために、Sieveフィルタリング(およびNotify [RFC5435]などのSieve拡張機能)によって提供されるものを含むサーバー機能を利用することは非常に重要です。

This specification defines extensions to IMAP [RFC3501] to support the invocation of Sieve scripts at times when the IMAP server creates new messages or modifies existing ones. It also defines how Sieve scripts will process these invocations. Support for IMAP events in Sieve also requires support for the following:

この仕様は、IMAP [RFC3501]への拡張を定義して、IMAPサーバーが新しいメッセージを作成したり、既存のメッセージを変更したりするときにSieveスクリプトの呼び出しをサポートします。また、Sieveスクリプトがこれらの呼び出しを処理する方法も定義します。 SieveでのIMAPイベントのサポートには、以下のサポートも必要です。

o IMAP Metadata [RFC5464], because Metadata is used to associate scripts with IMAP mailboxes.

o IMAPメタデータ[RFC5464]。メタデータはスクリプトをIMAPメールボックスに関連付けるために使用されるためです。

o Sieve Environment [RFC5183], because it defines an important way for Sieve scripts to test the conditions under which they have been invoked.

o Sieve環境[RFC5183]。これは、Sieveスクリプトが呼び出された条件をテストするための重要な方法を定義しているためです。

o Sieve imap4flags [RFC5232], because it provides important functionality in handling IMAP events related to flag changes.

o フラグの変更に関連するIMAPイベントを処理する重要な機能を提供するため、imap4flags [RFC5232]をシーブします。

Because this requires future Sieve extensions to specify their interactions with this one (see Section 3.12), this document updates the base Sieve specification, RFC 5228.

これは、これとの相互作用を指定するために将来のSieve拡張機能を必要とするため(セクション3.12を参照)、このドキュメントは、基本的なSieve仕様であるRFC 5228を更新します。

1.2. Differences between IMAP Events and Mail Delivery
1.2. IMAPイベントとメール配信の違い

Invoking Sieve scripts in a context other than initial mail delivery introduces new situations; this changes the applicability of Sieve features, creates implementation challenges, and creates user interface issues. This section discusses some of those differences, challenges, and issues.

最初のメール配信以外のコンテキストでSieveスクリプトを呼び出すと、新しい状況が発生します。これにより、Sieve機能の適用性が変わり、実装の課題が生じ、ユーザーインターフェイスの問題が生じます。このセクションでは、これらの違い、課題、および問題のいくつかについて説明します。

At times other than message delivery, delivery "envelope" information might not be available. With messages added through IMAP APPEND, there might be no way to even guess who the intended recipient is, and no concept of who "sent" the message. Sieve actions that relate to contacting the sender, for example, will not be applicable.

メッセージ配信以外の場合、配信「エンベロープ」情報が利用できない場合があります。 IMAP APPENDを介してメッセージが追加されると、意図された受信者が誰であるかを推測することもできず、だれがメッセージを「送信した」かという概念もありません。たとえば、送信者への連絡に関連するふるいアクションは適用されません。

Because IMAP events will often be triggered by user actions, and because user interfaces allow bulk actions that differ from individual message arrival, it now becomes possible for a single user action, such as drag-and-drop, to initiate Sieve script processing on a large number of messages at once. Implementations will have to deal with such situations as a "COPY" action or flag changes on dozens, or even thousands, of messages.

IMAPイベントはユーザーアクションによってトリガーされることが多く、ユーザーインターフェイスは個々のメッセージの到着とは異なるバルクアクションを許可するため、ドラッグアンドドロップなどの単一のユーザーアクションがSieveスクリプト処理を開始することが可能になります。一度に多数のメッセージ。実装では、「COPY」アクションや、数十、さらには数千のメッセージに対するフラグ変更などの状況に対処する必要があります。

Other issues might surface as this extension is deployed and experience with it develops.

この拡張機能がデプロイされ、経験を積むにつれて、他の問題が表面化する可能性があります。

1.3. Conventions Used in This Document
1.3. このドキュメントで使用される規則

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」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、および「OPTIONAL」は、 [RFC2119]で説明されているように解釈されます。

2. The "IMAP Events in Sieve" Extension
2. 「SieveのIMAPイベント」拡張機能
2.1. The "imapsieve" Capability Strings
2.1. 「imapsieve」機能文字列

An IMAP server advertises support for IMAP events in Sieve through the "imapsieve" capability. A server that advertises "imapsieve" is claiming to be in compliance with this specification in all aspects. The syntax of the "imapsieve" capability string is defined as follows:

IMAPサーバーは、「imapsieve」機能を通じてSieveでのIMAPイベントのサポートをアドバタイズします。 「imapsieve」を宣伝するサーバーは、すべての面でこの仕様に準拠していると主張しています。 「imapsieve」機能文字列の構文は、次のように定義されています。

   capability /=  "IMAPSIEVE=" sieveurl-server
           ; <sieveurl-server> is defined in RFC 5804, Section 3
        

Only one "imapsieve" capability string, specifying one sieveurl-server, is allowed to be present. The sieveurl-server identifies the ManageSieve server that clients need to contact for managing Sieve scripts associated with this IMAP server.

1つのsieveurl-serverを指定する1つの「imapsieve」機能文字列のみが存在できます。 sieveurl-serverは、このIMAPサーバーに関連付けられたSieveスクリプトを管理するためにクライアントが連絡する必要があるManageSieveサーバーを識別します。

The corresponding Sieve implementation uses the Sieve capability string "imapsieve", and Sieve scripts that depend upon the IMAP events MUST include that string in their "required" lists.

対応するSieve実装は、Sieve機能文字列「imapsieve」を使用し、IMAPイベントに依存するSieveスクリプトは、その文字列を「必須」リストに含める必要があります。

Implementations that support IMAP events in Sieve MUST also support IMAP Metadata [RFC5464] and Sieve Environment [RFC5183], because Metadata is used to associate scripts with IMAP mailboxes and Environment defines an important way for Sieve scripts to test the conditions under which they have been invoked. Notwithstanding the support requirement, scripts that directly use Environment MUST also include its capability string in their "required" lists.

SieveでIMAPイベントをサポートする実装は、IMAPメタデータ[RFC5464]とSieve環境[RFC5183]もサポートする必要があります。メタデータはスクリプトをIMAPメールボックスに関連付けるために使用され、環境はSieveスクリプトがそれらの状況をテストするための重要な方法を定義するためです呼び出されました。サポート要件にかかわらず、環境を直接使用するスクリプトは、「必須」リストにその機能文字列を含める必要があります。

2.2. Existing IMAP Functions Affected by IMAP Events in Sieve
2.2. SieveのIMAPイベントの影響を受ける既存のIMAP関数

The subsections below describe in detail the IMAP commands and situations on which IMAP events in Sieve have an effect. Not all Sieve actions make sense in the case of messages affected by IMAP commands. See Section 3 for details.

以下のサブセクションでは、SieveのIMAPイベントが影響を与えるIMAPコマンドと状況について詳しく説明します。 IMAPコマンドの影響を受けるメッセージの場合、すべてのSieveアクションが意味をなすわけではありません。詳細については、セクション3を参照してください。

It's important to note that since the base Sieve specification (see [RFC5228]) and its extensions define functions for scripts that are invoked during initial mail delivery, those function definitions are necessarily tailored to and limited by that context. This document extends those function definitions for use during IMAP events. By nature of that, Sieve functions, in this extended context, may behave somewhat differently, though their extended behavior will still be consistent with the functions' goals.

基本のSieve仕様([RFC5228]を参照)とその拡張機能は、初期メール配信中に呼び出されるスクリプトの関数を定義するため、これらの関数定義はそのコンテキストに合わせて調整および制限されることに注意することが重要です。このドキュメントでは、IMAPイベント中に使用するためにこれらの関数定義を拡張します。その性質上、この拡張されたコンテキストでのSieve関数は多少異なる動作をする場合がありますが、それらの拡張された動作は関数の目標と一致します。

If more than one message is affected at the same time, each message triggers the execution of a Sieve script separately. The scripts MAY be run in parallel.

複数のメッセージが同時に影響を受ける場合、各メッセージはSieveスクリプトの実行を個別にトリガーします。スクリプトは並行して実行される場合があります。

2.2.1. The IMAP APPEND Command
2.2.1. IMAP APPENDコマンド

A message may be added to a mailbox through the IMAP APPEND command. In a server that advertises "imapsieve", new messages added in this way MUST trigger the execution of a Sieve script, subject to the settings defined through Metadata (see Section 2.3.1).

IMAP APPENDコマンドを使用して、メッセージをメールボックスに追加できます。 「imapsieve」をアドバタイズするサーバーでは、この方法で追加された新しいメッセージは、メタデータ(セクション2.3.1を参照)で定義された設定に従って、Sieveスクリプトの実行をトリガーする必要があります。

If the IMAP server also supports the IMAP MULTIAPPEND extension [RFC3502], the APPEND command can create more than one message at a time. In that case, each message creation is considered a separate event, and any applicable Sieve script is called once for each message.

IMAPサーバーがIMAP MULTIAPPEND拡張[RFC3502]もサポートしている場合、APPENDコマンドは一度に複数のメッセージを作成できます。その場合、各メッセージの作成は個別のイベントと見なされ、該当するSieveスクリプトはメッセージごとに1回呼び出されます。

2.2.2. The IMAP COPY Command
2.2.2. IMAP COPYコマンド

One or more messages may be added to a mailbox through the IMAP COPY command. In a server that advertises "imapsieve", new messages added in this way MUST trigger the execution of a Sieve script, subject to the settings defined through Metadata.

IMAP COPYコマンドを使用して、1つ以上のメッセージをメールボックスに追加できます。 「imapsieve」をアドバタイズするサーバーでは、この方法で追加された新しいメッセージは、メタデータで定義された設定に従って、Sieveスクリプトの実行をトリガーする必要があります。

2.2.3. Changes to IMAP Message Flags
2.2.3. IMAPメッセージフラグの変更

One or more existing messages can have their flags changed in a number of ways, including:

1つ以上の既存のメッセージのフラグは、次のようなさまざまな方法で変更できます。

o The FETCH command (may cause the \Seen flag to be set).

o FETCHコマンド(\ Seenフラグが設定される場合があります)。

o The STORE command (may cause the \Answered, \Deleted, \Draft, \Flagged, and \Seen flags to be set or reset, and may cause keywords to be set or reset).

o STOREコマンド(\ Answered、\ Deleted、\ Draft、\ Flagged、および\ Seenフラグが設定またはリセットされる場合があり、キーワードが設定またはリセットされる場合があります)。

o The invocation of a Sieve script on an existing message, where the script uses one of the actions defined in the imap4flags extension [RFC5232] to change the flags.

o 既存のメッセージに対するSieveスクリプトの呼び出し。スクリプトは、imap4flags拡張[RFC5232]で定義されているアクションの1つを使用して、フラグを変更します。

In a server that advertises "imapsieve", messages whose flags are changed in any way (except as explained in the next sentence) MUST trigger the execution of a Sieve script, subject to the settings defined through Metadata. The exception is that in order to avoid script loops, flag changes that are made as a result of a script that was itself invoked because of flag changes SHOULD NOT result in a further invocation of the script. In any case, implementations MUST take steps to avoid such loops.

「imapsieve」をアドバタイズするサーバーでは、フラグが何らかの方法で変更されたメッセージ(次の文で説明されている場合を除く)は、メタデータで定義された設定に従って、Sieveスクリプトの実行をトリガーする必要があります。例外は、スクリプトのループを回避するために、フラグの変更のためにそれ自体が呼び出されたスクリプトの結果として行われたフラグの変更によって、スクリプトがさらに呼び出されないようにする必要があることです。いずれの場合も、実装はそのようなループを回避するための措置を講じなければなりません。

For flag-change events, the Sieve script will see the message flags as they are AFTER the changes.

フラグ変更イベントの場合、変更後のメッセージフラグがSieveスクリプトに表示されます。

2.2.4. When Script Actions Set the \Deleted Flag
2.2.4. スクリプトアクションが\ Deletedフラグを設定する場合

There are times when the actions "fileinto" (see Section 3.3), "redirect" (see Section 3.4), and "discard" (see Section 3.5) will set the \Deleted flag on the message. In those cases, the following apply:

アクション "fileinto"(セクション3.3を参照)、 "redirect"(セクション3.4を参照)、および "discard"(セクション3.5を参照)がメッセージに\ Deletedフラグを設定する場合があります。これらの場合、以下が適用されます。

When the \Deleted flag is set by the script, a flag-change Sieve script is not invoked.

スクリプトによって\ Deletedフラグが設定されている場合、フラグ変更Sieveスクリプトは呼び出されません。

The implementation MAY then expunge the original message (WITHOUT expunging other messages in the mailbox). Alternatively, it might have expunges batched or done by a user. (It might be helpful to allow the user to make this choice through a preference.)

次に、実装は元のメッセージを消去することができます(メールボックス内の他のメッセージを消去することはありません)。または、バッチ処理またはユーザーによって実行された消去が含まれている可能性があります。 (ユーザーが設定を通じてこの選択を行えるようにすると便利な場合があります。)

If the server does the expunge, the effect is as though a client had flagged the message and done a UID EXPUNGE (see [RFC4315]) on the affected message(s) only. Handling it this way allows clients to handle messages consistently and avoids hidden changes that might invalidate their message caches.

サーバーが抹消を行う場合、影響は、クライアントがメッセージにフラグを立て、影響を受けたメッセージに対してのみUID EXPUNGE([RFC4315]を参照)を実行したかのようです。このように処理することで、クライアントはメッセージを一貫して処理でき、メッセージキャッシュを無効にする可能性のある隠された変更を回避できます。

2.3. New Functions Defined by IMAP Events in Sieve
2.3. SieveのIMAPイベントによって定義される新しい関数
2.3.1. Interaction with Metadata
2.3.1. メタデータとの相互作用

Support for IMAP events in Sieve requires support for IMAP Metadata [RFC5464] as well, since the latter is used to associate scripts with IMAP mailboxes.

SieveでIMAPイベントをサポートするには、IMAPメタデータ[RFC5464]もサポートする必要があります。後者はスクリプトをIMAPメールボックスに関連付けるために使用されるためです。

When an applicable event occurs on an IMAP mailbox, if there is an IMAP metadata entry named "/shared/imapsieve/script" for the mailbox, that entry is used. If there is not, but there is an IMAP metadata entry named "/shared/imapsieve/script" for the server, that entry is used (providing a way to define a global script for all mailboxes on a server). If neither entry exists, then no script will be invoked.

IMAPメールボックスで該当するイベントが発生したときに、メールボックスに「/ shared / imapsieve / script」という名前のIMAPメタデータエントリがある場合、そのエントリが使用されます。ない場合でも、サーバーの「/ shared / imapsieve / script」という名前のIMAPメタデータエントリがある場合は、そのエントリが使用されます(サーバー上のすべてのメールボックスにグローバルスクリプトを定義する方法が提供されます)。どちらのエントリも存在しない場合、スクリプトは呼び出されません。

If a "/shared/imapsieve/script" metadata entry was selected above, its value is used as the name of the Sieve script that will be invoked in response to the IMAP event. If the value is empty, then no script is run. The selection of which metadata entry to use happens before any examination of the contents of the entry. If the mailbox entry is selected and is then found to be unusable or empty, the server entry is not used as a backup: no script is run.

「/ shared / imapsieve / script」メタデータエントリが上で選択された場合、その値は、IMAPイベントに応答して呼び出されるSieveスクリプトの名前として使用されます。値が空の場合、スクリプトは実行されません。使用するメタデータエントリの選択は、エントリの内容を検査する前に行われます。メールボックスエントリが選択され、使用不可または空であることが判明した場合、サーバーエントリはバックアップとして使用されません。スクリプトは実行されません。

This specifies the mechanism for "activating" a script for a given mailbox (or for all mailboxes) but does not specify a mechanism for creating, storing, or validating the script. Implementations MUST support ManageSieve [RFC5804] and can use the PUTSCRIPT command to store the script without using the SETACTIVE command to activate it.

これは、特定のメールボックス(またはすべてのメールボックス)のスクリプトを「アクティブ化」するメカニズムを指定しますが、スクリプトを作成、保存、または検証するメカニズムは指定しません。実装は、ManageSieve [RFC5804]をサポートする必要があり、PUTSCRIPTコマンドを使用して、スクリプトをアクティブにするSETACTIVEコマンドを使用せずにスクリプトを保存できます。

Script names used in "/shared/imapsieve/script" metadata entries are the script names used on the corresponding ManageSieve server. If a "/shared/imapsieve/script" metadata entry contains a script name that doesn't exist in the ManageSieve server, then no Sieve script will be invoked for IMAP Sieve events.

「/ shared / imapsieve / script」メタデータエントリで使用されるスクリプト名は、対応するManageSieveサーバーで使用されるスクリプト名です。 「/ shared / imapsieve / script」メタデータエントリにManageSieveサーバーに存在しないスクリプト名が含まれている場合、IMAP Sieveイベントに対してSieveスクリプトは呼び出されません。

Only one Sieve script may currently be defined per mailbox, eliminating the complexity and possible ambiguity involved with coordinating the results of multiple scripts. Any sub-filtering is done in the Sieve script. For example, if it's only necessary to deal with flag changes, but not with new messages appended or copied, the Sieve script will still be invoked for all events, and the script is responsible for checking the event type.

現在、メールボックスごとに定義できるSieveスクリプトは1つだけであり、複数のスクリプトの結果の調整に伴う複雑さと起こり得るあいまいさを排除しています。サブフィルタリングはすべてSieveスクリプトで行われます。たとえば、フラグの変更だけを処理する必要があり、追加またはコピーされた新しいメッセージを処理する必要がない場合でも、Sieveスクリプトはすべてのイベントに対して呼び出され、スクリプトはイベントタイプのチェックを担当します。

The possibility is open for an extension to add support for multiple scripts -- for example, per-client scripts on a multi-client user's inbox, or per-user scripts on a mailbox that is shared among users.

複数のスクリプトのサポートを追加する拡張機能の可能性は開いています-たとえば、マルチクライアントユーザーの受信トレイのクライアントごとのスクリプト、またはユーザー間で共有されるメールボックスのユーザーごとのスクリプト。

Because this metadata name is associated with the mailbox, there can (and it's expected that there will) be different scripts associated with events for different mailboxes. Indeed, most mailboxes will probably invoke no script at all.

このメタデータ名はメールボックスに関連付けられているため、さまざまなメールボックスのイベントに関連付けられたさまざまなスクリプトが存在する可能性があります(存在すると予想されます)。実際、ほとんどのメールボックスはおそらくスクリプトをまったく呼び出さないでしょう。

3. Applicable Sieve Actions and Interactions
3. 該当するふるいのアクションと相互作用

Since some Sieve actions relate specifically to the delivery of mail, not all actions and extensions make sense when the messages are created by other means or when changes are made to data associated with existing messages. This section describes how actions in the base Sieve specification, and those in extensions known at the time of this writing, relate to this specification.

一部のSieveアクションは特にメールの配信に関連しているため、メッセージが他の方法で作成されたとき、または既存のメッセージに関連付けられたデータに変更が加えられたときに、すべてのアクションと拡張が意味をなすわけではありません。このセクションでは、ベースのSieve仕様のアクション、およびこのドキュメントの執筆時点で知られている拡張機能のアクションが、この仕様にどのように関係するかについて説明します。

In addition to what is specified here, interactions noted in the individual specifications apply and must be considered.

ここで指定されていることに加えて、個々の仕様に記載されている相互作用が適用され、考慮する必要があります。

3.1. The Implicit Keep
3.1. 暗黙のキープ

For all cases that fall under IMAP events in Sieve, the implicit keep means that the message is treated as it would have been if no Sieve script were run. For APPEND and COPY, the message is stored into the target mailbox normally. For flag changes, the message is left in the mailbox. If actions have been taken that change the message, those changes are considered transient and MUST NOT be retained for any "keep" action (because IMAP messages are immutable). No error is generated, but the original message, without the changes, is kept.

SieveのIMAPイベントに該当するすべてのケースで、暗黙的な保持とは、Sieveスクリプトが実行されなかった場合と同様にメッセージが処理されることを意味します。 APPENDおよびCOPYの場合、メッセージは通常、ターゲットメールボックスに格納されます。フラグ変更の場合、メッセージはメールボックスに残されます。メッセージを変更するアクションが行われた場合、それらの変更は一時的なものと見なされ、「保持」アクションのために保持してはなりません(IMAPメッセージは不変であるため)。エラーは生成されませんが、変更されていない元のメッセージは保持されます。

3.2. The "keep" Action
3.2. 「維持」アクション

The "keep" action is applicable in all cases that fall under IMAP events in Sieve. Its behavior is as described for implicit keep, in Section 3.1.

「保持」アクションは、SieveのIMAPイベントに該当するすべてのケースに適用されます。その動作は、セクション3.1の暗黙的な保持で説明したとおりです。

3.3. The "fileinto" Action
3.3. 「fileinto」アクション

If the Sieve implementation supports the "fileinto" action, that action is applicable in all cases that fall under IMAP events in Sieve. If the "copy" extension [RFC3894] is available and the :copy option is specified, the implicit keep is retained; otherwise, fileinto cancels the implicit keep, as specified in the base Sieve specification.

Sieve実装が「fileinto」アクションをサポートする場合、そのアクションは、SieveのIMAPイベントに該当するすべてのケースに適用されます。 「コピー」拡張[RFC3894]が使用可能で、:copyオプションが指定されている場合、暗黙的な保持が保持されます。それ以外の場合、fileintoは、基本のSieve仕様で指定されているように、暗黙の保持をキャンセルします。

For APPEND and COPY, the message is stored into the fileinto mailbox IN ADDITION TO the original target mailbox. For flag changes, the message is COPIED into the fileinto mailbox, without removing the original. In all cases, fileinto always creates a new message, separate from the original.

APPENDおよびCOPYの場合、メッセージは、元のターゲットメールボックスに加えて、fileintoメールボックスに格納されます。フラグの変更の場合、メッセージは元のメッセージを削除せずに、メールボックスのファイルにコピーされます。すべての場合において、fileintoは常に、元のメッセージとは別に新しいメッセージを作成します。

The "fileinto" action is not an IMAP APPEND or COPY and therefore does not result in a subsequent event (see also the Security Considerations, Section 6).

「fileinto」アクションはIMAP APPENDまたはCOPYではないため、後続のイベントは発生しません(セキュリティの考慮事項、セクション6も参照)。

If a "keep" action is not also in effect, the original message is then marked with the \Deleted flag (see Section 2.2.4).

「保持」アクションも有効でない場合、元のメッセージは\ Deletedフラグでマークされます(セクション2.2.4を参照)。

3.4. The "redirect" Action
3.4. 「リダイレクト」アクション

The "redirect" action is applicable in all cases that fall under IMAP events in Sieve. It causes the message to be sent, as specified in the base Sieve specification, to the designated address. If the "copy" extension [RFC3894] is available and the :copy option is specified, the implicit keep is retained; otherwise, redirect cancels the implicit keep, as specified in the base Sieve specification.

「リダイレクト」アクションは、SieveのIMAPイベントに該当するすべてのケースに適用されます。これにより、ベースSieve仕様で指定されているように、メッセージが指定されたアドレスに送信されます。 「コピー」拡張[RFC3894]が使用可能で、:copyオプションが指定されている場合、暗黙的な保持が保持されます。それ以外の場合、リダイレクトは、ベースSieve仕様で指定されているように、暗黙的な保持をキャンセルします。

It's possible that a message processed in this way does not have the information necessary to be redirected properly. It might lack necessary header information, and there might not be appropriate information for the MAIL FROM command. In such cases, the "redirect" action uses message submission [RFC6409], and it is up to the Sieve engine to supply the missing information. The redirect address is, of course, used for the "RCPT TO", and the "MAIL FROM" SHOULD be set to the address of the owner of the mailbox. The message submission server is allowed, according to the message submission protocol, to perform necessary fix-up to the message (see Section 8 of RFC 6409). It can also reject the submission attempt if the message is too ill-formed for submission.

この方法で処理されたメッセージには、適切にリダイレクトするために必要な情報がない可能性があります。必要なヘッダー情報が不足している可能性があり、MAIL FROMコマンドに適切な情報がない可能性があります。そのような場合、「リダイレクト」アクションはメッセージ送信[RFC6409]を使用し、不足している情報を提供するのはSieveエンジンに任されています。もちろん、リダイレクトアドレスは「RCPT TO」に使用され、「MAIL FROM」はメールボックスの所有者のアドレスに設定する必要があります。メッセージ送信サーバーは、メッセージ送信プロトコルに従って、メッセージに必要な修正を実行できます(RFC 6409のセクション8を参照)。また、メッセージの形式が不適切で提出できない場合は、提出の試みを拒否することもできます。

For APPEND and COPY, the message is stored into the target mailbox in addition to being redirected. For flag changes, the message remains in its original mailbox.

APPENDおよびCOPYの場合、メッセージはリダイレクトされるだけでなく、ターゲットメールボックスに格納されます。フラグが変更された場合、メッセージは元のメールボックスに残ります。

If a "keep" action is not also in effect, the original message is then marked with the \Deleted flag (see Section 2.2.4).

「保持」アクションも有効でない場合、元のメッセージは\ Deletedフラグでマークされます(セクション2.2.4を参照)。

3.5. The "discard" Action
3.5. 「破棄」アクション

The "discard" action is applicable in all cases that fall under IMAP events in Sieve. For APPEND and COPY, the message is first stored into the target mailbox. If an explicit "keep" action is also in effect, the "discard" action now does nothing. Otherwise, the original message is then marked with the \Deleted flag (see Section 2.2.4).

「破棄」アクションは、SieveのIMAPイベントに該当するすべてのケースに適用されます。 APPENDおよびCOPYの場合、メッセージは最初にターゲットメールボックスに格納されます。明示的な「保持」アクションも有効になっている場合、「破棄」アクションは何もしません。それ以外の場合、元のメッセージは\ Deletedフラグでマークされます(セクション2.2.4を参照)。

3.6. The "notify" Action
3.6. 「通知」アクション

If the Sieve notify extension [RFC5435] is available, the "notify" action is applicable in all cases that fall under IMAP events in Sieve. The result is that the requested notification is sent and that the message is otherwise handled as it would normally have been.

Sieve通知拡張機能[RFC5435]が使用可能な場合、「通知」アクションは、SieveのIMAPイベントに該当するすべてのケースに適用されます。その結果、要求された通知が送信され、メッセージはそれ以外の場合は通常どおりに処理されます。

3.7. The "addheader" and "deleteheader" Actions
3.7. 「addheader」および「deleteheader」アクション

If the editheader extension [RFC5293] is available, it can be used to make transient changes to header fields, which aren't saved in place, such as for "redirect" or "fileinto" actions. Because messages in IMAP mailboxes are immutable, such changes are not applicable for the "keep" action (explicit or implicit). See Section 3.1.

editheader拡張[RFC5293]が利用可能な場合、それを使用して、「リダイレクト」や「fileinto」アクションなど、ヘッダーフィールドに一時的な変更を加えることができます。 IMAPメールボックス内のメッセージは不変であるため、このような変更は「明示的」または「暗黙的」アクションの「適用」には適用されません。セクション3.1を参照してください。

3.8. The "setflag", "deleteflag", and "removeflag" Actions
3.8. 「setflag」、「deleteflag」、および「removeflag」アクション

Implementations of IMAP events in Sieve MUST also support the imap4flags extension [RFC5232], and the actions associated with it are all applicable to any case that falls under IMAP events in Sieve.

SieveのIMAPイベントの実装は、imap4flags拡張[RFC5232]もサポートする必要があり、それに関連付けられているアクションはすべて、SieveのIMAPイベントに該当するすべてのケースに適用できます。

It is worth noting also that the "hasflag" test that is defined in the imap4flags extension might be particularly useful in scripts triggered by flag changes ("hasflag" will see the new, changed flags). The flag changes behave as though a client had made the change.

また、imap4flags拡張機能で定義されている「hasflag」テストは、フラグの変更によってトリガーされるスクリプトで特に役立つ場合があります(「hasflag」には、新しく変更されたフラグが表示されます)。フラグの変更は、クライアントが変更を加えたかのように動作します。

As explained above, in order to avoid script loops, flag changes that are made as a result of a script that was itself invoked because of flag changes SHOULD NOT result in another script invocation. In any case, implementations MUST take steps to avoid such loops.

上記で説明したように、スクリプトのループを回避するために、フラグの変更のためにそれ自体が呼び出されたスクリプトの結果として行われたフラグの変更は、別のスクリプトの呼び出しをもたらすべきではありません。いずれの場合も、実装はそのようなループを回避するための措置を講じなければなりません。

3.9. MIME Part Tests and Replacement
3.9. MIMEパーツのテストと交換

If the MIME Part Tests extension [RFC5703] is available, all of its functions can be used, but any changes made to the message, using the "replace" or "enclose" action, MUST be considered transient and are only applicable with actions such as "redirect" and "fileinto". Because messages in IMAP mailboxes are immutable, such changes are not applicable for the "keep" action (explicit or implicit). See Section 3.1.

MIMEパーツテスト拡張[RFC5703]が利用可能な場合、そのすべての機能を使用できますが、「置換」または「囲み」アクションを使用してメッセージに加えられた変更は一時的であると見なさなければならず、そのようなアクションでのみ適用可能です「リダイレクト」および「fileinto」として。 IMAPメールボックス内のメッセージは不変であるため、このような変更は「明示的」または「暗黙的」アクションの「適用」には適用されません。セクション3.1を参照してください。

3.10. spamtest and virustest
3.10. spamtestおよびvirustest

If the spamtest and virustest extensions [RFC5235] are available, they are applicable in all cases that fall under IMAP events in Sieve.

spamtestおよびvirustest拡張[RFC5235]が利用可能な場合、それらはSieveのIMAPイベントに該当するすべてのケースに適用されます。

3.11. Inapplicable Actions
3.11. 該当しないアクション

The following actions and extensions are not applicable to any case that falls under IMAP events in Sieve, because they are specifically designed to respond to delivery of a new email message. Their appearance in the "require" control or their use in an IMAP event MUST result in an error condition that will terminate the Sieve script:

次のアクションと拡張機能は、新しい電子メールメッセージの配信に応答するように特別に設計されているため、SieveのIMAPイベントに該当するケースには適用されません。 「require」コントロールでのそれらの出現、またはIMAPイベントでのそれらの使用は、Sieveスクリプトを終了するエラー状態を引き起こす必要があります。

reject [RFC5228]

拒否[RFC5228]

ereject [RFC5429]

エレジェト[RFC5429]

vacation [RFC5230]

休暇[RFC5230]

Future extensions that are specifically designed to respond to delivery of a new email message will likewise not be applicable to this extension.

新しい電子メールメッセージの配信に応答するように特別に設計された将来の拡張機能も、同様にこの拡張機能には適用されません。

3.12. Future Sieve Actions
3.12. 将来のふるい行動

As noted above, future extensions that are specifically designed to respond to delivery of a new email message will not be applicable to this extension, because this extension does not involve acting at new-message delivery time.

上記のように、新しい電子メールメッセージの配信に応答するように特別に設計された将来の拡張機能は、この拡張機能には適用されません。この拡張機能は、新しいメッセージの配信時に動作する必要がないためです。

In general, future extensions to Sieve that define new actions MUST specify the applicability of those actions to this specification.

一般に、新しいアクションを定義するSieveの将来の拡張では、これらのアクションのこの仕様への適用性を指定する必要があります。

4. Interaction with Sieve Environment
4. Sieve環境との相互作用
4.1. Base Sieve Environment Items: location and phase
4.1. 基本ふるい環境項目:場所とフェーズ

The Sieve Environment extension defines a set of standard environment items (see [RFC5183], Section 4.1). Two of those items are affected when the script is invoked through an IMAP event.

Sieve Environment拡張は、一連の標準環境項目を定義します([RFC5183]、セクション4.1を参照)。これらの項目のうち2つは、IMAPイベントを通じてスクリプトが呼び出されると影響を受けます。

The value of "location" is set to "MS" -- evaluation is being performed by a Message Store.

"location"の値は "MS"に設定されています-評価はメッセージストアによって実行されています。

The value of "phase" is set to "post" -- processing is taking place after (or perhaps instead of, in the case of APPEND) final delivery.

「フェーズ」の値は「ポスト」に設定されます-処理は最終配信の後で(またはAPPENDの場合はおそらく)代わりに行われます。

4.2. New Sieve Environment Items: imap.user and imap.email
4.2. 新しいSieve環境項目:imap.userおよびimap.email

In the normal case, when Sieve is used in final delivery, there is no identity for the "filer" -- the user who is creating or changing the message. In this case, there is such an identity, and a Sieve script might want to access that identity.

通常のケースでは、Sieveが最終配信で使用される場合、「ファイラー」、つまりメッセージを作成または変更するユーザーのIDはありません。この場合、そのようなIDがあり、SieveスクリプトはそのIDにアクセスする可能性があります。

Implementations MUST set and make available two new environment items:

実装は、2つの新しい環境項目を設定して使用可能にする必要があります。

"imap.user" -- the identity (login ID) of the IMAP user that caused the action. This MUST be the empty string if it is accessed during normal (final delivery) Sieve processing.

「imap.user」-アクションを引き起こしたIMAPユーザーのID(ログインID)。通常の(最終配信)Sieve処理中にアクセスされる場合、これは空の文字列でなければなりません。

"imap.email" -- the primary email address of the IMAP user that caused the action (the user identified by "imap.user"). In some implementations, "imap.user" and "imap.email" might have the same value. This MUST be the empty string if it is accessed during normal (final delivery) Sieve processing.

「imap.email」-アクションを引き起こしたIMAPユーザー(「imap.user」で識別されるユーザー)のプライマリ電子メールアドレス。一部の実装では、「imap.user」と「imap.email」が同じ値を持つ場合があります。通常の(最終配信)Sieve処理中にアクセスされる場合、これは空の文字列でなければなりません。

4.3. New Sieve Environment Item: imap.cause
4.3. 新しいSieve環境項目:imap.cause

Each mailbox uses a single script for all the change conditions described in this document (append, copy, flag changes). To support that, the implementation MUST set the Environment [RFC5183] item "imap.cause", which contains the name of the action that caused the script to be invoked. Its value is one of the following:

各メールボックスは、このドキュメントで説明されているすべての変更条件(追加、コピー、フラグ変更)に対して単一のスクリプトを使用します。これをサポートするには、実装で環境[RFC5183]項目「imap.cause」を設定する必要があります。これには、スクリプトが呼び出される原因となったアクションの名前が含まれています。その値は次のいずれかです。

o APPEND (for invocations resulting from APPEND commands)

o APPEND(APPENDコマンドからの呼び出しの場合)

o COPY (for invocations resulting from COPY commands)

o COPY(COPYコマンドによる呼び出しの場合)

o FLAG (for invocations resulting from flag changes)

o FLAG(フラグの変更による呼び出しの場合)

Future extensions might define new events and, thus, new causes. Such extensions will come with their own capability strings, and the events they define will only be presented when their capabilities are requested. Scripts that do not request those capabilities will not see those events and will not encounter the new cause strings.

将来の拡張では、新しいイベント、つまり新しい原因が定義される可能性があります。そのような拡張機能には独自の機能文字列が付属し、それらが定義するイベントは、機能が要求されたときにのみ表示されます。これらの機能を要求しないスクリプトはそれらのイベントを認識せず、新しい原因文字列に遭遇しません。

4.4. New Sieve Environment Item: imap.mailbox
4.4. 新しいSieve環境項目:imap.mailbox

The implementation MUST set the Environment [RFC5183] item "imap.mailbox" to the name of the mailbox that the affected message is in, in the case of existing messages, or is targeted to be stored into, in the case of new messages. The value of this item is fixed when the script begins, and, in particular, MUST NOT change as a result of any action, such as "fileinto".

実装は、環境[RFC5183]項目「imap.mailbox」を、既存のメッセージの場合、影響を受けるメッセージが存在するメールボックスの名前に設定するか、新しいメッセージの場合、格納先として設定する必要があります。この項目の値は、スクリプトの開始時に固定され、特に、「fileinto」などのアクションの結果として変更してはなりません。

4.5. New Sieve Environment Item: imap.changedflags
4.5. 新しいSieve環境項目:imap.changedflags

If the script was invoked because of flag changes to an existing message, the implementation MUST set the Environment [RFC5183] item "imap.changedflags" to the name(s) of the flag(s) that have changed. If the script was not invoked because of flag changes, the value of this item MUST be the empty string. The script will not know from this item whether the flags have been set or reset, but it can use the "hasflag" test to determine the current value. See example 2 in Section 5 for an example of how this might be used.

既存のメッセージのフラグが変更されたためにスクリプトが呼び出された場合、実装は環境[RFC5183]の項目「imap.changedflags」を変更されたフラグの名前に設定する必要があります。フラグの変更によりスクリプトが呼び出されなかった場合、このアイテムの値は空の文字列でなければなりません。スクリプトは、この項目からフラグが設定されているかリセットされているかを認識しませんが、「hasflag」テストを使用して現在の値を判別できます。これを使用する方法の例については、セクション5の例2を参照してください。

4.6. Interaction with Sieve Tests (Comparisons)
4.6. Sieveテストとの相互作用(比較)

Any tests against message envelope information, including the "envelope" test in the Sieve base specification, as well as any such test defined in extensions, are either inapplicable or have serious interoperability issues when performed at other than final-delivery time. Therefore, envelope tests MUST NOT be permitted in the cases described here, and their use MUST generate a runtime error.

メッセージエンベロープ情報に対するテスト(Sieve基本仕様の「エンベロープ」テストを含む)、および拡張機能で定義されたそのようなテストは、最終配信時以外に実行すると、該当しないか、深刻な相互運用性の問題があります。したがって、ここで説明するケースではエンベロープテストを許可してはならず(MUST NOT)、それらの使用はランタイムエラーを生成する必要があります。

This extension does not affect the operation of other tests or comparisons in the Sieve base specification.

この拡張機能は、Sieve基本仕様の他のテストまたは比較の動作には影響しません。

5. Examples
5. 例

Example 1: If a new message is added to the "ActionItems" mailbox, a copy is sent to the address "actionitems@example.com".

例1:新しいメッセージが「ActionItems」メールボックスに追加されると、コピーがアドレス「actionitems@example.com」に送信されます。

require ["copy", "environment", "imapsieve"];

["copy"、 "environment"、 "imapsieve"]が必要です。

     if anyof (environment :is "imap.cause" "APPEND",
               environment :is "imap.cause" "COPY")  {
         if environment :is "imap.mailbox" "ActionItems" {
             redirect :copy "actionitems@example.com";
         }
     }
        

Example 2: If the script is called for any message with the \Flagged flag set (tested through the imap4flags extension [RFC5232]) AND this script invocation represents a change to that flag, then a notification is sent using the Sieve notify extension [RFC5435]. No notification will be sent, though, if we're called with an existing message that already had that flag set.

例2:スクリプトが\ Flaggedフラグが設定されたメッセージに対して呼び出された場合(imap4flags拡張[RFC5232]でテスト)、このスクリプト呼び出しがそのフラグの変更を表す場合、通知はSieve通知拡張[RFC5435]を使用して送信されます。 ]。ただし、そのフラグがすでに設定されている既存のメッセージで呼び出された場合、通知は送信されません。

require ["enotify", "imap4flags", "variables", "environment", "imapsieve"];

require ["enotify"、 "imap4flags"、 "variables"、 "environment"、 "imapsieve"];

     if environment :matches "imap.mailbox" "*" {
         set "mailbox" "${1}";
     }
        
     if allof (hasflag "\\Flagged",
               environment :contains "imap.changedflags" "\\Flagged") {
       notify :message "Important message in ${mailbox}"
           "xmpp:tim@example.com?message;subject=SIEVE";
     }
        

Example 3: This shows an example IMAP CAPABILITY response when this extension is supported. The client has done STARTTLS with the server and is now inspecting capabilities. (The untagged CAPABILITY response is split here for readability only, but it will be in one response message.)

例3:これは、この拡張機能がサポートされている場合のIMAP CAPABILITY応答の例を示しています。クライアントはサーバーでSTARTTLSを実行し、現在機能を検査しています。 (タグなしのCAPABILITY応答は、読みやすくするためにここでは分割されていますが、1つの応答メッセージに入れられます。)

     C:  A01 CAPABILITY
     S:  * CAPABILITY IMAP4rev1 AUTH=PLAIN UIDPLUS LIST-EXTENDED
           ACL IMAPSIEVE=sieve://sieve.example.com MULTISEARCH
     S:  A01 OK done
        
6. Security Considerations
6. セキュリティに関する考慮事項

It is possible to introduce script processing loops by having a Sieve script that is triggered by flag changes use the actions defined in the imap4flags extension [RFC5232]. Implementations MUST take steps to prevent script loops. One way to avoid this problem is that if a script is invoked by flag changes, and that script further changes the flags, those flag changes SHOULD NOT trigger a Sieve script invocation.

フラグの変更によってトリガーされるSieveスクリプトに、imap4flags拡張[RFC5232]で定義されているアクションを使用させることにより、スクリプト処理ループを導入することが可能です。実装では、スクリプトのループを防ぐための措置を講じる必要があります。この問題を回避する1つの方法は、フラグの変更によってスクリプトが呼び出され、そのスクリプトがさらにフラグを変更する場合、それらのフラグの変更によってSieveスクリプトの呼び出しがトリガーされないようにする必要があります。

The "fileinto" action never results in the invocation of a script. If an implementation did invoke a script as the result of a fileinto, as though an IMAP APPEND or COPY had been done, script loops could result (mailbox A responds to all COPY events by doing "fileinto B", and mailbox B responds to all COPY events by doing "fileinto A"). In general, actions taken as a result of the Sieve script are not IMAP events and do not themselves trigger Sieve script invocations.

「fileinto」アクションの結果、スクリプトが呼び出されることはありません。 IMAP APPENDまたはCOPYが行われたかのように、実装がfileintoの結果としてスクリプトを呼び出した場合、スクリプトループが発生する可能性があります(メールボックスAは「fileinto B」を実行してすべてのCOPYイベントに応答し、メールボックスBはすべてに応答します「fileinto A」を実行してイベントをコピーします。一般に、Sieveスクリプトの結果として実行されるアクションはIMAPイベントではなく、それ自体がSieveスクリプトの呼び出しをトリガーすることはありません。

It is also possible to introduce loops through the "redirect" or "notify" actions. See Sieve [RFC5228], Section 10, Sieve Notify [RFC5435], Section 8, and the Security Considerations sections of the applicable notification-method documents for loop-prevention information. This extension does not change any of that advice.

「リダイレクト」または「通知」アクションを通じてループを導入することも可能です。ループ防止情報については、該当する通知方法ドキュメントのSieve [RFC5228]、セクション10、Sieve Notify [RFC5435]、セクション8、およびセキュリティに関する考慮事項のセクションを参照してください。この拡張機能はそのアドバイスを変更しません。

This extension introduces side effects to IMAP commands that users and script authors might not be aware of and that can accidentally be triggered by an operation that the user would expect to be innocuous. In particular, certain actions, such as "redirect", can cause a message (such as a message appended to a mailbox by a user) to be sent to the Internet in response to something as simple as a flag change. For example, a script might cause messages marked for deletion to be sent to some off-site archiving service. If a user appends a draft message to a mailbox (perhaps an unencrypted draft message) and then marks it for deletion, it might be very surprising to the user that the message is sent off site. Script authors need to be careful not to create these kinds of surprises, especially when creating global scripts.

この拡張機能は、ユーザーやスクリプト作成者が知らない可能性があり、ユーザーが無害であると予期する操作によって誤ってトリガーされる可能性があるIMAPコマンドに副作用をもたらします。特に、「リダイレクト」などの特定のアクションにより、メッセージ(ユーザーがメールボックスに追加したメッセージなど)が、フラグの変更などの単純なものに応答してインターネットに送信される可能性があります。たとえば、スクリプトにより、削除のマークが付けられたメッセージが一部のオフサイトアーカイブサービスに送信される場合があります。ユーザーがメールボックスにドラフトメッセージ(おそらく暗号化されていないドラフトメッセージ)を追加し、それを削除用にマークした場合、メッセージがサイト外に送信されることはユーザーにとって非常に驚くかもしれません。スクリプトの作成者は、特にグローバルスクリプトを作成する場合、この種の驚きを作成しないように注意する必要があります。

Other security considerations are discussed in IMAP [RFC3501] and Sieve [RFC5228], as well as in some of the other extension documents.

その他のセキュリティに関する考慮事項は、IMAP [RFC3501]とSieve [RFC5228]、および他の一部の拡張ドキュメントで説明されています。

7. IANA Considerations
7. IANAに関する考慮事項
7.1. Registration of "imapsieve" IMAP Capability
7.1. 「imapsieve」IMAP機能の登録

IANA has added "IMAPSIEVE=" to the IMAP 4 Capabilities registry (<http://www.iana.org/assignments/imap4-capabilities>), according to the IMAP 4 specification [RFC3501].

IMAP 4仕様[RFC3501]に従い、IANAはIMAP 4 Capabilitiesレジストリ(<http://www.iana.org/assignments/imap4-capabilities>)に「IMAPSIEVE =」を追加しました。

7.2. Registration of "imapsieve" Sieve Extension
7.2. 「imapsieve」Sieve拡張の登録

The following information has been added to the Sieve Extensions registry (<http://www.iana.org/assignments/sieve-extensions>), according to the Sieve specification [RFC5228].

Sieve仕様[RFC5228]に従って、以下の情報がSieve拡張レジストリ(<http://www.iana.org/assignments/sieve-extensions>)に追加されました。

   Capability name: imapsieve
   Description: Add Sieve processing for IMAP events.
   RFC number: 6785
   Contact address: Sieve mailing list <sieve@ietf.org>
        
7.3. Registration of Sieve Environment Items
7.3. Sieve環境アイテムの登録

The following subsections register items in the Sieve Environment Items registry (<http://www.iana.org/assignments/sieve-environment-items>), according to the Environment extension [RFC5183].

以下のサブセクションでは、環境拡張[RFC5183]に従って、Sieve環境アイテムレジストリ(<http://www.iana.org/assignments/sieve-environment-items>)にアイテムを登録します。

7.3.1. Registration of Sieve Environment Item: imap.cause
7.3.1. Sieve環境項目の登録:imap.cause

Item name: imap.cause Description: The name of the action that caused the script to be invoked. Its value is one of the following:

アイテム名:imap.cause説明:スクリプトが呼び出される原因となったアクションの名前。その値は次のいずれかです。

o APPEND (for invocations resulting from APPEND commands)

o APPEND(APPENDコマンドからの呼び出しの場合)

o COPY (for invocations resulting from COPY commands)

o COPY(COPYコマンドによる呼び出しの場合)

o FLAG (for invocations resulting from flag changes)

o FLAG(フラグの変更による呼び出しの場合)

   RFC number: 6785
   Contact address: Sieve mailing list <sieve@ietf.org>
        
7.3.2. Registration of Sieve Environment Item: imap.mailbox
7.3.2. Sieve環境アイテムの登録:imap.mailbox

Item name: imap.mailbox Description: The name of the mailbox that the affected message is in, in the case of existing messages, or is targeted to be stored into, in the case of new messages. The value of this item is fixed when the script begins, and, in particular, MUST NOT change as a result of any action, such as "fileinto". RFC number: 6785 Contact address: Sieve mailing list <sieve@ietf.org>

アイテム名:imap.mailbox説明:既存のメッセージの場合、影響を受けるメッセージが含まれているメールボックスの名前、または新しいメッセージの場合、格納先となるメールボックスの名前。この項目の値は、スクリプトの開始時に固定され、特に、「fileinto」などのアクションの結果として変更してはなりません。 RFC番号:6785連絡先アドレス:Sieveメーリングリスト<sieve@ietf.org>

7.3.3. Registration of Sieve Environment Item: imap.changedflags
7.3.3. Sieve環境項目の登録:imap.changedflags
   Item name: imap.changedflags
   Description: If the script was invoked because of flag changes to an
      existing message, this contains the name(s) of the flag(s) that
      have changed.  Otherwise, the value of this item MUST be the
      empty string.
   RFC number: 6785
   Contact address: Sieve mailing list <sieve@ietf.org>
        
7.3.4. Registration of Sieve Environment Item: imap.user
7.3.4. Sieve環境項目の登録:imap.user
   Item name: imap.user
   Description: The identity (IMAP login ID) of the IMAP user that
      caused the action.
   RFC number: 6785
   Contact address: Sieve mailing list <sieve@ietf.org>
        
7.3.5. Registration of Sieve Environment Item: imap.email
7.3.5. Sieve環境アイテムの登録:imap.email
   Item name: imap.email
   Description: The primary email address of the IMAP user that
      caused the action (the user identified by "imap.user").
   RFC number: 6785
   Contact address: Sieve mailing list <sieve@ietf.org>
        
7.4. Registration of IMAP METADATA Mailbox Entry Name
7.4. IMAP METADATAメールボックスエントリ名の登録

The following information has been added to the IMAP METADATA Mailbox Entry Registry (<http://www.iana.org/assignments/imap-metadata>), according to the METADATA extension [RFC5464].

METADATA拡張[RFC5464]に従って、IMAP METADATAメールボックスエントリレジストリ(<http://www.iana.org/assignments/imap-metadata>)に次の情報が追加されました。

   Type: Mailbox
   Name: /shared/imapsieve/script
   Description: This entry name is used to define mailbox metadata
      associated with IMAP events in Sieve for the associated mailbox.
      Specifically, this specifies the Sieve script that will be invoked
      when IMAP events occur on the specified mailbox.
   Content-type: text/plain; charset=utf-8
   RFC number: 6785
   Contact address: Sieve mailing list <sieve@ietf.org>
        
7.5. Registration of IMAP METADATA Server Entry Name
7.5. IMAP METADATAサーバーのエントリ名の登録

The following information has been added to the IMAP METADATA Server Entry Registry (<http://www.iana.org/assignments/imap-metadata>), according to the METADATA extension [RFC5464].

METADATA拡張[RFC5464]に従って、IMAP METADATAサーバーエントリレジストリ(<http://www.iana.org/assignments/imap-metadata>)に次の情報が追加されました。

   Type: Server
   Name: /shared/imapsieve/script
   Description: This entry name is used to define metadata associated
      globally with IMAP events in Sieve for the associated server.
      Specifically, this specifies the Sieve script that will be invoked
      when IMAP events occur on any mailbox in the server that does not
      have its own mailbox-level /shared/imapsieve/script entry.
   Content-type: text/plain; charset=utf-8
   RFC number: 6785
   Contact address: Sieve mailing list <sieve@ietf.org>
        
8. References
8. 参考文献
8.1. Normative References
8.1. 引用文献

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するキーワード」、BCP 14、RFC 2119、1997年3月。

[RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003.

[RFC3501] Crispin、M。、「インターネットメッセージアクセスプロトコル-バージョン4rev1」、RFC 3501、2003年3月。

[RFC3502] Crispin, M., "Internet Message Access Protocol (IMAP) - MULTIAPPEND Extension", RFC 3502, March 2003.

[RFC3502] Crispin、M。、「インターネットメッセージアクセスプロトコル(IMAP)-MULTIAPPEND拡張機能」、RFC 3502、2003年3月。

[RFC3894] Degener, J., "Sieve Extension: Copying Without Side Effects", RFC 3894, October 2004.

[RFC3894] Degener、J。、「Sieve Extension:Copying without Side Effects」、RFC 3894、2004年10月。

[RFC5183] Freed, N., "Sieve Email Filtering: Environment Extension", RFC 5183, May 2008.

[RFC5183] Freed、N。、「Sieve Email Filtering:Environment Extension」、RFC 5183、2008年5月。

[RFC5228] Guenther, P. and T. Showalter, "Sieve: An Email Filtering Language", RFC 5228, January 2008.

[RFC5228] Guenther、P。およびT. Showalter、「Sieve:An Email Filtering Language」、RFC 5228、2008年1月。

[RFC5232] Melnikov, A., "Sieve Email Filtering: Imap4flags Extension", RFC 5232, January 2008.

[RFC5232] Melnikov、A。、「Sieve Email Filtering:Imap4flags Extension」、RFC 5232、2008年1月。

[RFC5464] Daboo, C., "The IMAP METADATA Extension", RFC 5464, February 2009.

[RFC5464] Daboo、C。、「The IMAP METADATA Extension」、RFC 5464、2009年2月。

[RFC5804] Melnikov, A. and T. Martin, "A Protocol for Remotely Managing Sieve Scripts", RFC 5804, July 2010.

[RFC5804] Melnikov、A。およびT. Martin、「A Sieve Scripts Remotely Manageing for Sieve Scripts」、RFC 5804、2010年7月。

[RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", STD 72, RFC 6409, November 2011.

[RFC6409] Gellens、R。およびJ. Klensin、「Mail for Submission for Mail」、STD 72、RFC 6409、2011年11月。

8.2. Informative References
8.2. 参考引用

[RFC4315] Crispin, M., "Internet Message Access Protocol (IMAP) - UIDPLUS extension", RFC 4315, December 2005.

[RFC4315] Crispin、M。、「インターネットメッセージアクセスプロトコル(IMAP)-UIDPLUS拡張」、RFC 4315、2005年12月。

[RFC5230] Showalter, T. and N. Freed, "Sieve Email Filtering: Vacation Extension", RFC 5230, January 2008.

[RFC5230] Showalter、T。およびN. Freed、「Sieve Email Filtering:Vacation Extension」、RFC 5230、2008年1月。

[RFC5235] Daboo, C., "Sieve Email Filtering: Spamtest and Virustest Extensions", RFC 5235, January 2008.

[RFC5235] Daboo、C。、「Sieve Email Filtering:Spamtest and Virustest Extensions」、RFC 5235、2008年1月。

[RFC5293] Degener, J. and P. Guenther, "Sieve Email Filtering: Editheader Extension", RFC 5293, August 2008.

[RFC5293] Degener、J。およびP. Guenther、「Sieve Email Filtering:Editheader Extension」、RFC 5293、2008年8月。

[RFC5429] Stone, A., "Sieve Email Filtering: Reject and Extended Reject Extensions", RFC 5429, March 2009.

[RFC5429] Stone、A。、「Sieve Email Filtering:Reject and Extended Reject Extensions」、RFC 5429、2009年3月。

[RFC5435] Melnikov, A., Leiba, B., Segmuller, W., and T. Martin, "Sieve Email Filtering: Extension for Notifications", RFC 5435, January 2009.

[RFC5435] Melnikov、A.、Leiba、B.、Segmuller、W。、およびT. Martin、「Sieve Email Filtering:Extension for Notifications」、RFC 5435、2009年1月。

[RFC5703] Hansen, T. and C. Daboo, "Sieve Email Filtering: MIME Part Tests, Iteration, Extraction, Replacement, and Enclosure", RFC 5703, October 2009.

[RFC5703] Hansen、T。およびC. Daboo、「Sieve Email Filtering:MIME Part Tests、Iteration、Extraction、Replacement、and Enclosure」、RFC 5703、2009年10月。

Author's Address

著者のアドレス

Barry Leiba Huawei Technologies

バリーブレッドファーウェイテクノロジーズ

   Phone: +1 646 827 0648
   EMail: barryleiba@computer.org
   URI:   http://internetmessagingtechnology.org/