如何从Kynetx电子邮件端点访问邮件正文?

时间:2010-12-17 03:38:14

标签: email krl

我想从入站电子邮件中提取URL,然后从http:get()中提取URL。如何访问邮件正文?

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

1 个答案:

答案 0 :(得分: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//)从电子邮件正文中提取信息。