Как получить доступ к телу сообщения из конечной точки электронной почты Kynetx? - PullRequest
4 голосов
/ 17 декабря 2010

Я хочу извлечь 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 Ответ

3 голосов
/ 17 декабря 2010

Вы используете метод email:parts() для извлечения частей письма. В составном электронном письме у вас будут текстовые / html и текстовые / простые части.

Чтобы получить доступ к электронной почте, вы сначала извлекаете электронную почту (в форме RFC822) из ​​параметра msg события, например:

envelope = event:param("msg");

Затем вы можете использовать метод частей для извлечения части. В этом примере кода извлекается часть текста в виде обычного текста:

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

Вызов email:parts(envelope) без прохождения фильтра MIME вернет структуру со всеми частями письма.

Получив тело, вы можете использовать textportion.extract(re//) для извлечения информации из тела письма.

...