Send Email

In this article

Overview

You can use this Snap to configure and send emails to the specified email address.

Snap Type

The Send Email is a Write-type Snap.

Prerequisites

  • Valid Exchange Online tenant.

  • Valid OAuth2 application in Azure Active Directory with all the required API permissions.

Support for Ultra Pipelines

Works in Ultra Pipelines. However, we recommend that you do NOT use this Snap in an Ultra Pipeline. To know the list of Snaps that work in Ultra and the related caveats, see Snap Support for Ultra Pipelines.

Limitations 

  • The size of the attachment has a limitation of supporting file size of 35MB.

  • For file attachment, the supported protocols are SLDB or Local files.

Known Issues

The Send Email Snap configured with more than 3MB attachment might fail because of a 429 error response from the Graph API endpoint.

Snap Views

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Min: 0

  • Max: 1

  • Mapper

  • Copy Snap

  • JSON Parser

Requires the Email Body Type and the Email Content deliver the message.

Output

Document

 

  • Min: 0

  • Max: 1

  • Read Email

  • Mapper

The output would be a confirmation that the email was sent successfully.

Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab:

  • Stop Pipeline Execution: Stops the current Pipeline execution when the Snap encounters an error.

  • Discard Error Data and Continue: Ignores the error, discards that record, and continues with the remaining records.

  • Route Error Data to Error View: Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap Settings

  • Asterisk (*): Indicates a mandatory field.

  • Suggestion icon (): Indicates a list that is dynamically populated based on the configuration.

  • Expression icon (): Indicates whether the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

  • Add icon (): Indicates that you can add fields in the field set.

  • Remove icon (): Indicates that you can remove fields from the field set.

Field Name

Field Type

Description

Field Name

Field Type

Description

Label*

 

Default ValueSend Email
Example: Send Email

String

Specify the name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your Pipeline.

User/Shared MailBox

 

Default Value: N/A
Example: john.doe@snaplogic.com

String/Expression

Specify the mailbox from which you want to send the email. Alternatively, click the Suggestionicon to select the email folder in the mailbox. For example, custom/subfolder.

Recommendation

If you do not provide a user/shared mailbox, the mailbox associated with the user account of the OAuth2 User account (signed in user) is considered. However, if you use an OAuth2 Application account, you must select a User/Shared Mailbox to send emails.

Reply In A Thread

 

Default Value: Deselected

Checkbox

Select to respond to an email under a thread carrying previous emails.

On Selecting this option, you will see a new field following, Existing Message Id.

Existing Message ID

 

Default Value: N/A
Example: weqsvhwbshbw2e22

String/Expression

Specify the ID of an existing message which will allow you to respond to an existing email.

To

 

Default Value: N/A
Example: jr.downy@microsoft.com

String/Expression

Specify the recipient's email address.

Cc

 

Default Value: N/A
Example: liam.nesson@snaplogic.com

String/Expression

Specify the carbon copy email address.

Bcc

 

Default Value: N/A
Example: dave.fergo@oracle.com

String/Expression

Specify the blind carbon copy address.

Subject

 

Default Value: N/A
Example: "Exchange-RCA"

String/Expression

Specify the subject of the email.

Email Body Type*

 

Default Value: TEXT
Example: HTML

Dropdown list

Select the email body type from the dropdown list:

  • TEXT: Select to send the email in a text format.

  • HTML: Select to send the email in a html format.

  • HTML TABLE: Select to send the email in a table format.

Email Body

 

Default Value: N/A
Example: '<!DOCTYPE html> <html> <head> <title>Email Snap HTML Table</title> <style type="text/css"> table.Snap {background-color:transparent;border-collapse:collapse;width:100%;} table.Snap th, table.Snap td {text-align:center;border:1px solid black;padding:5px;} table.Snap th {background-color:AntiqueWhite;} </style> </head> <body> <p>Dear Snap QA Team:</p> <p>SWAT Tickets Resolved in last 25 Days without RCA</p><p>Please fill the RCA and respective QA-analysis for the following SWAT tickets.</p> <table class="Snap"> </table> <p></p> <p>Regards,</p> <p>Snap QA</p> </body> </html>'

String/Expression

Specify the content you want to send in your email.

This field supports both HTML and Plaintext format, however, you need to enter the content on the basis of your selection in Email Body Type field.

Set Message Importance*

 

Default Value: NORMAL
Example: HIGH

Dropdown list

Select one of the options to set the priority for your emails:

  • HIGH

  • NORMAL

  • LOW

Email Attachment

Use this fieldset to send an attachment along with your message.

URL

 

Default Value: N/A
Example: 1.csv

String/Expression

Specify the URL of the file to be sent as an attachment along with your email.

Table Data Path

 

Default Value: N/A
Example: $.Customers

String

Specify the JSON path to map the data which corresponds to a row in the HTML table. If it references an array of map data, such as $.Customers[::1], the Snap adds each map data into the HTML table. If the object referenced by this property is not a map data nor an array of map data, the input document is routed to the error view.

Batch size

 

Default Value: 100
Example: 50

Integer

Specify the batch size to use only for the HTML TABLE Email Body Type. The unit of the value is in the number of rows of the HTML table. If the number of documents the Snap receives from the input view reaches the specified batch size, the Snap composes an email message with an HTML table and sends it to the server. Multiple emails are generated, if needed, to send out all documents. The Snap sends the last message at the end of the Pipeline execution if any unsent table rows remain.

Number Of Retries

 

Default Value: 0
Example: 4

Integer/Expression

Specify the maximum number of attempts to be made to receive a response. The request is terminated if the attempts do not result in a response.

Retry Intervals (seconds)

 

Default Value: 1
Example: 21

Integer/Expression

Specify the time interval between two successive retry requests. A retry happens only when the previous attempt resulted in an exception.

Snap Execution

 

Default Value: Validate & Execute
Example: Execute only

Dropdown list

Select one of the three following modes in which the Snap executes:

  • Validate & Execute. Performs limited execution of the Snap and generates a data preview during Pipeline validation, then performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only. Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled. Disables the Snap and all Snaps downstream from it.

Troubleshooting

Error

Reason

Resolution

Error

Reason

Resolution

Message ID is required field for sending an email in thread

You have either not entered a message ID or provided an invalid one.

Enter the Existing Message ID also ensure it to be a valid one.

Check whether the file path is correct.

You have entered an invalid/incorrect URL for the email’s attachment.

Verify and enter a valid URL for attachments.

Chunk Upload interrupted

The Snap could not upload the attachments.

Avoid multiple uploading of attachments and retry the process.

Table Data path is not found.

The Snap could not find a JSON path for the table data.

Provide a valid path for the Table Data.

The Table Data Path field does not reference a map or an array of maps.

The Snap is unable to map the Table Data path to the HTML table row data.

Please verify if the Table Data Path references a map or an array of maps

Examples

Send Emails using the Exchange Online OAuth2 User Account

The example below demonstrates how to configure the Exchange Online OAuth2 User Account to send an email using the Send Email Snap.

Download this pipeline.

Prerequisite: Assign Mail.Send permission to the specific user in the registered application in the Azure portal.

Configure the Exchange Online OAuth2 User Account with the Mail.Send permission for Authentication parameter value to allow the user to send emails.

When you click the User/Shared MailBox suggestion in the Send Email Snap settings, the field populates a single email ID, which means that only one user shares the mailbox.

Send Emails using the Exchange Online OAuth2 Application Account

The example below demonstrates how to configure the Exchange Online OAuth2 Application Account to send an email using the Send Email Snap.

Download this pipeline.

The Exchange Online OAuth2 Application Account, by default, has all the permissions provided by Microsoft.

When you click on the User/Shared MailBox suggestions in the Snap settings, the field populates all the users of the mailbox as shown below:

Sending an email

This example Pipeline demonstrates how to send an email to another individual's mailbox.

First, configure the Send Email Snap as follows and validate it.

Send Email Snap Configuration

Output

Send Email Snap Configuration

Output

 

Upon execution, we see a confirmation that the email has been sent.

Downloads

Snap Pack History