我想从入站电子邮件中提取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
答案 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//)
从电子邮件正文中提取信息。