PhixFlow Help
How To: Read data from an email account
Sometimes it is necessary to read data into PhixFlow streams from an email account. For example, if orders are always sent to a specified email address in the same format, it can be an easy way to automate their entry into a database or process them.
To do this, you will need to:
- Configure an email polling service.
- Configure a file collector to gather details of the email message (the body) and any attached files.
Set up service to poll an email account for new messages
Full details for this configuration can be found in Email Account, but in this article we will cover some common examples.
Step-by-step guide
- In the full repository browser, open the section Email Accounts
- Add an account: see examples below for POP3 and IMAP; to make this an inbound account, don't tick the Outbound box
- Click Test Configuration to ensure the settings are correct
- Tick the Enabled box, then save any changes
Some examples follow, but also see the section troubleshooting if you have problems connecting to your email account.
Example Settings using POP3
With POP3 just the main Inbox is polled for messages
Example Settings using IMAP / Office 365
With the IMAP protocol, a Folder can be specified, as in the example below. Emails will be read from this folder under the email account.
If you leave Folder blank, emails will be read directly from the Inbox.
Set up file collector to load email messages and/or attachments
Emails will be collected from the email account you have set up, and stored on the PhixFlow server. From this store, you can read these in using a file collector.
Full details for this configuration are in File Collector, but in this article we will go through a typical set up which should cover most cases.
The file collector will need to have the following settings (see also the screen shot below):
Field | Value |
---|---|
Source Type | Managed File |
File Type | The type of the attached file, or for reading the email message itself (the body), probably CSV |
File Location Strategy | All Files in Folder |
Tag | If a tag is being set (see below), the tag name surrounded by double quotes. E.g.: "accdataemail" If a tag is not being set: "default" |
Input Directory Expr. | "in" |
Directory Pattern Expression | ".*" |
File Pattern Expression | A pattern to match attached files, e.g. to find attached files with names like "AccData.*xlsx" or if you want to read in the email message (the body) this will be just: "body.txt" |
Archive Directory Expression | "archive" |
Setting a tag
You can set a tag for the emails by including
#tagValue
in the subject line of incoming emails. Note that the resulting tag you use in the file collector will be all in lower case. For example, if incoming emails have a subject line like
PhixFlow input file accounts 20170426 #accDataEmail
then use the tag
"accdataemail"
in your file collector configuration.
You don't need to know emails and attached files are stored on the PhixFlow server to complete configuration of the file collector, but sometimes you might find it helpful to be able to find the files delivered by the email polling service.
In system configuration you will have, under the section System Directories, a setting File Upload Directory. For example:
/opt/phixflow/data/upload
If you have not specified a tag in the subject line of your incoming emails, files will appear in directories:
/opt/phixflow/data/upload/default/in/[date]/[long ID]
E.g.
/opt/phixflow/data/upload/default/in/20170426/ab5dcb71868e47c484d6aa78430393d6
If you have specified a tag in the subject line of the emails, files will appear in directories:
/opt/phixflow/data/upload/[tag]/in/[date]/[long ID]
E.g. with the tag "accdataemail"
/opt/phixflow/data/upload/accdataemail/in/20170426/eebb98c20ce04246b0cee073a510ccde
Archiving
If you set an archive directory, your files will be moved once they have been read in by the file collector. This will be to:
[file upload directory]/[tag]/[archive dir]/[date]/[long ID]
E.g. if you set the archive directory to "archive" (as in the examples above), your files will be moved to directories like:
/opt/phixflow/data/upload/default/archive/20170426/6904c5192d5944bd919d4eee99bc0237
or, if you are using the tag "accdataemail":
/opt/phixflow/data/upload/accdataemail/archive/20170426/6904c5192d5944bd919d4eee99bc0237
Please let us know if we could improve this page feedback@phixflow.com