Email

The Email component is an application component that allows users to get and send email from Mail Protocol. It can carry out the following tasks:

  • Send Email
  • Read EmailsYou can connect to different email servers through the Email component. Emails are fetched and sent using the IMAP and SMTP protocols, respectively. You can set the server address and port for each protocol in the component configuration.

#Release Stage

Alpha

#Configuration

The component definition and tasks are defined in the definition.json and tasks.json files respectively.

#Setup

In order to communicate with the external application, the following connection details need to be provided. You may specify them directly in a pipeline recipe as key-value pairs within the component's setup block, or you can create a Connection from the Integration Settings page and reference the whole setup as setup: ${connection.<my-connection-id>}.

FieldField IDTypeNote
Server Address (required)server-addressstringThe address of the email server
Server Port (required)server-portintegerThe port of the email server
Email Address (required)email-addressstringThe email address of the user
App Password (required)passwordstringThe password of the App passwords in Gmail settings

Supported Provider Samples for Sending Email

ProviderSMTP Server AddressPortNotes
Gmailsmtp.gmail.com587 (TLS) or 465 (SSL)
Outlooksmtp-mail.outlook.com587
Yahoosmtp.mail.yahoo.com465 or 587
iCloudsmtp.mail.me.com587If you see an error message when using SSL, try using TLS or STARTTLS instead.

Supported Provider Samples for Receiving Emails

ProviderIMAP Server AddressPort
Gmailimap.gmail.com993
Outlookoutlook.office365.com993
Yahooimap.mail.yahoo.com993
iCloudimap.mail.me.com993

For App Password, please follow the steps below:

    1. Please Sign in to your Google Account with link: https://myaccount.google.com/apppasswords
    1. Create a new App Password and save it in a secure place.
    1. Add App Password as a new secret in the Instill Platform by navigating to Console > Settings > Secrets.
    1. Reference the secret in the App Password field in the component configuration.

#Supported Tasks

#Send Email

Send an email to recipients

InputIDTypeDescription
Task ID (required)taskstringTASK_SEND_EMAIL
Recipient (required)recipientsarray[string]The email addresses of the recipients
Ccccarray[string]The email addresses for Carbon Copy
Bccbccarray[string]The email addresses for Blind Carbon Copy
SubjectsubjectstringThe subject of the email
Message (required)messagestringThe message to be sent
OutputIDTypeDescription
ResultresultstringThe result of sending the email

#Read Emails

Read emails from a mailbox

InputIDTypeDescription
Task ID (required)taskstringTASK_READ_EMAILS
SearchsearchobjectThe search criteria for the emails
Input Objects in Read Emails

The search criteria for the emails

FieldField IDTypeNote
Search DatedatestringSearch for emails with the date the email was sent
LimitlimitintegerThe maximum number of emails to search for
MailboxmailboxstringThe mailbox to search for emails
Search Messagesearch-email-messagestringSearch for emails with a specific message
Search Fromsearch-fromstringSearch for emails from a specific email address
Search Subjectsearch-subjectstringSearch for emails with a specific subject
Search Tosearch-tostringSearch for emails to a specific email address
OutputIDTypeDescription
Emailsemailsarray[object]The emails that match the search criteria
Output Objects in Read Emails

Emails

FieldField IDTypeNote
DatedatestringThe date the email was sent
FromfromstringThe email address of the sender
MessagemessagestringThe message of the email
SubjectsubjectstringThe subject of the email
TotoarrayThe email addresses of the recipient

#Mailbox

You have to confirm what exactly the mailbox name is. Take Gmail as an example, the mailbox names are following.

MailboxMailbox Name to input
InboxINBOX
Sent[Gmail]/Sent Mail
Drafts[Gmail]/Drafts

#Search From and Search To

You need to input the exact same email address with < as a prefix and > as a suffix as the email you want to search for. For example, if you want to search for the email from email@example.com, you need to input <email@example.com>.