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で取れる情報以外のダウンロードはしません。