4

受信メール メッセージから URL を抽出し、その URL を http:get() したいと考えています。メッセージ本文にアクセスするにはどうすればよいですか?

select when mail received from "(.*)@example.com" setting user
pre { /* extract first URL from message */ }
http:get(URL);

次の電子メール メッセージが与えられた場合、PRE ブロックの内容は次のようになります。

From: Example User <user@example.com>
To: x202 Endpoint <a101x202@kynetxapps.net>
Subject: An interesting URL

http://www.example.net
4

1 に答える 1

3

メソッドを使用してemail:parts()、電子メールの一部を抽出します。マルチパート メールには、text/html と text/plain の両方の部分があります。

msg電子メールにアクセスするには、最初に次のようにイベント パラメータから電子メールを (RFC822 形式で) 抽出します。

envelope = event:param("msg");

次に、parts メソッドを使用して部分を抽出できます。このコード例は、電子メールのプレーン テキスト部分を抽出します。

textportion = email:parts(envelope,"text/plain").pick("$..text/plain");

MIME フィルターを渡さずに呼び出すemail:parts(envelope)と、メールのすべての部分を含む構造体が返されます。

本文を取得したらtextportion.extract(re//)、メール本文から情報を抽出するために使用できます。

于 2010-12-17T07:01:17.657 に答える