Email Parser

Extract data from incoming emails and automate your workflow

MENUMENU

How to capture an email address in the email body and send an autoresponse



Recently a user has asked if it is possible to capture (parse) an email address written in the email body, not in the From, To, CC etc. and sending an automatic reply to that address. The answer is that parsing email addresses is very easy as they have a very well defined format:

name@domain.com

Some of them even have an indefinite number of subdomains:

name@subsubdomain.subdomain.domain.topleveldomain

 

Searching in our recommended site for a regular expression that matches an email address we have found this one:

\w+@\w+(\.\w+)+

Which, in plain English means: a string of letters followed by a @ and another string of letters. It follows another string of letters preceeded by a dot, and this last subset can be repeated many times.

This regular expression will not match some weird email addresses, but 99.9% of them will. For the purpose of showing how to parse email addresses is enough but you can use more powerful ones.

 

In Email Parser it is set up as follows:

 

This field, called email_address_in_body, is defined within an email parser item that looks like this:

 

And the Email Parser the left panel, where all the items and the flow of information is shown, looks as follows:

auto responder left panel

 

In order to prevent sending automatic replies when no email addresses are found we have placed a conditional check before sending a reply. This item called “check if we have captured an email address” checks if the field email_address_in_body contains a text. If “my simple email body parser” is not able to find a text string that matches the regular expression email_address_in_body will be left blank.

checking if a parsed field has been captured

 

auto responder SMTP settings

 

 

Clicking Run in Email Parser we get the following output:

 

········ 10/27/2017 10:51:10 AM Started

········ Checking emails for _____@gmail.com

Downloading email 1 of 1

 

Processing email 1 of 1

 From: “Carlos Andrés” <_____@gmail.com>
To: “Carlos” <______@gmail.com>
Subject: This is a sample incoming email
Hello,

Bla blah blah, carlos@frozenfrog.es

etc etc


Carlos Andrés

FrozenFrog Software
26, Miguel de Unamuno St.
E-09001 Burgos
Spain
Phone and Fax available upon request.
Skype id: cls357

More details

The email contains the following fields:

Subject This is a sample incoming email
From “Carlos” <_____@gmail.com>
To “Carlos” <_____@gmail.com>
Body Hello,Bla blah blah, carlos@frozenfrog.es etc etc  ……
Body_HTML <div dir=”ltr”>Hello,<div><br></div><div>Bla blah blah, <a   ……
DateTimeSent 2017-10-27 10:50:04
DateTimeReceived 2017-10-27 10:51:12
RawHeader MIME-Version: 1.0Received: by 10.79.32.143 with HTTP; Fri  ……
CC empty
BCC empty

 

········ Running parser my simple email body parser

The parser produced the following results:

email_address_in_body carlos@frozenfrog.es

 

········ Running action check if we have captured an email address

Determining if ’email_address_in_body’ contains any value

The condition has been met

 

········ Running action send a reply

Connecting to the SMTP server

Logging in

Sending the email

Email successfully sent

········ Finished