プロセルピナ | ||||||||||
Top |
Internet |
Private Proxy |
Capture Device |
Download |
Config and Words |
Online Help |
Online Home |
|||
[BACK] | ||||||||||||||||||||||||||||
☞
Top >
Mail >
Filtering >
Commands >
From.isAddressBooked
【記述例 1】 (移動: dir= の指定にフォルダ名メタ定義を含む例) if From.isAddressBooked("addr") move dir="{{GTMAIL_HOME}}\\mBox\\MyFriends" (注:実際には折り返さず 一行で記述します) 【記述例 2】 (移動:フォルダ名メタ定義を含まない例) if From.isAddressBooked("addr") move dir="C:\\received\\MyFriends" 【記述例 3】 (フラグを立てる) if From.isAddressBooked("addr") flag 発信者のメールアドレス(メールヘッダのFrom:行のアドレス)が 「プロセルピナ」のアドレス帳に登録されている場合に 指定の処理を行います。 フィルタエディタからは、 [From(発信アドレス)]ボタンを押し、 開いた振り分け設定フォームの2つ目のセレクタから、 「アドレス帳に登録済みの場合」を選択します。
上記の【記述例 1】では、メールアドレスがアドレス帳に登録されていた場合に、 メールを {{GTMAIL_HOME}}\mBox\MyFriends のフォルダに移動しています。 上記の【記述例 2】では、メールアドレスがアドレス帳に登録されていた場合に、 メールを C:\received\MyFriends のフォルダに移動しています。 上記の【記述例 3】では、メールアドレスがアドレス帳に登録されていた場合に、 メールのフラグを立てています。 応用例 1フィリピン(略称で"PH")から発信または経由したメールは全て、 F:\GTmail\ゴミ\フィリピン のフォルダに移動する。 ただし、Fromヘッダのメールアドレスがアドレス帳に登録されている場合は、 その判定をスキップする。
【Refer】☞ IpList.viaコマンド メールがどの国から発信されたか、また経由したかは IpList.via("○○") で判定することができます。 【補足】 isAddressBookedisAddressBookedは、直前の文字列に対してメソッドのように機能します (これは Contains, Equals, StartsWith などでも同じです)。 実際には殆ど使用することは無い例ですが、 メールの「件名」が アドレス帳にメールアドレスとして登録されているかどうかをチェックするには、 次のように記述します。
isAddressBookedは、 Str[ ] の文字列変数に対しても機能します (これも Contains, Equals, StartsWith などの場合でも同じです)。 次の2行は、 「if From.isAddressBooked("addr") flag」 と同じ処理を行います。
isAddressBooked("addr")の、 "addr" の部分は、アドレス帳の addrフィールド を参照することを意味しています。 addrフィールドにはメールアドレスが登録されています。 アドレス帳にはこの他に、 nameフィールド、 memoフィールド などがあり、isAddressBooked("~")の書式で それらを参照し、一致するかどうかを判定することが可能です。 次の例は、FromNameがアドレス帳のnameフィールドに登録されているかどうかをチェックし、 登録がある場合にフラグを立てます。 (FromNameはメールヘッダのFrom行に記載されたメールアドレス以外の部分を参照する定義です)
FromNameで参照されるメールの差出人名には、表記の揺らぎがあることに注意してください。 例えば、アドレス帳に「松本芹香」の名前が登録されていた場合でも、 差出人名が「松本 芹香」であれば検出されません。 この場合、 Trim() や Replace⇒() を使うことで、多少の揺らぎは吸収することができます。 次の例では、FromNameで参照できる差出人名の両端から " を削除し、 間に含まれる全角スペース、半角スペースを削除したものを Str[1]の文字列変数に設定してから アドレス帳のnameフィールドとのマッチングを行っています。
【補足】 string.Replace⇒("A⇒B") 文字列string に含まれる A の文字列を全て B に置換。 Aを削除するだけの場合はBを省略して string.Replace⇒("A⇒") と記述。 |
||||||||||||||||||||||||||||
[BACK] | ||||||||||||||||||||||||||||
プロセルピナ |