2002-12-02 101745

IMAP4の受信フィルタ

ENVELOPEから生成できるヘッダに関しては、サーバからヘッダをダウンロードすることなくそのまま参照できるようにしました。つまり、こんなフィルタも余りパフォーマンスを悪化させずに書くことが出来ます。

<filters>
  <filterSet name="test">
    <filter folder="Inbox"
      match="@Less(@Size(), 5120)">
      <action name="download">
        <param name="type">all</param>
      </action>
    </filter>
    <filter folder="Inbox"
      match="@And(
               @Contain(@Address(To),'foo@bar.com'),
               @Less(@Size(), 10240))">
      <action name="download">
        <param name="type">all</param>
      </action>
    </filter>
    <filter folder="Inbox"
      match="@And(
               @Contain(@Address(To),'foo@bar.com'),
               @Less(@Size(@True()), 10240))">
      <action name="download">
        <param name="type">text</param>
      </action>
    </filter>
  </filterSet>
</filters>

サイズが5KB以下の場合には全体をダウンロード、Toに自分が入っていてサイズが10KB以下の時には全体をダウンロード、サイズが10KB以上だがテキスト部分のサイズが10KB以下の場合にはテキスト部分だけをダウンロードという感じです。デフォルトではENVELOPEで取れる情報以外のダウンロードはしません。