Skip to main content
Skip table of contents

Email - Send Message Conditionally

Overview

Send a message to anyone in the world using email, attaching one or more files. To have Workflows dynamically parse and output the contents of a file, you can include the filename in this format: `{{text:file.txt}}` To upload multiple files, use [Regex Match Type](https://www.shipyardapp.com/docs/reference/blueprint-library/match-type/). Due to email file size constraints, when the the total file size >10MB, Workflows will automatically zip the files under the name "Archive.zip". **Note:** This Task cannot be used to access a local file from your computer. **Recommended Setup:** 1. A Task built with this Template should typically run after a Task that either downloads a file to Workflows or generates a file with code.

Variables

Name

Reference

Type

Required

Default

Options

Description

Sender Address

EMAIL_SENDER_ADDRESS

Alphanumeric

None

-

The email address you want recipients to see when you send an email. We generally suggest keeping the sender address as your own email to ensure that you can appropriately receive replies.

Sender Name

EMAIL_SENDER_NAME

Alphanumeric

None

-

The name you want users to see that the email is from. If left blank, the Sender Address will be used.

To

EMAIL_TO

Alphanumeric

None

-

The email(s) that you want to send a message to. Can be comma-separated to include multiple email addresses.

CC

EMAIL_CC

Alphanumeric

None

-

The email(s) that you want your message to be carbon copied (CCed) to. Can be comma-separated to include multiple email addresses.

BCC

EMAIL_BCC

Alphanumeric

None

-

The email(s) that you want to be blind carbon copied (BCCed) to. Can be comma-separated to include multiple email addresses. Emails in this field will receive the email, but will not have their email exposed to all other recipients.

Subject

EMAIL_SUBJECT

Alphanumeric

None

-

The subject of the email that you want to send.

Message

EMAIL_MESSAGE

Alphanumeric

None

-

The body of the email, containing your main message. This field supports plain text as well as HTML. The body of the email, containing your main message. This field supports plain text as well as HTML. To have Workflows dynamically parse and output the contents of a file, you can include the filename in this format: {{text:file.txt}}

Send Messages Only When

EMAIL_CONDITIONAL_SEND

Select

file_exists

File(s) Exist: file_exists

File(s) Don't Exist: file_dne

Determines what condition needs to be met for a message to send. File(s) Exist - Send the message only if a file can be found using the provided folder/filename.ext combination. File(s) Don't Exist - Send the message only if a file cannot found using the provided folder/filename.ext combination.

File Name Match Type

EMAIL_SOURCE_FILE_NAME_MATCH_TYPE

Select

exact_match

Regex: regex_match

Exact: exact_match

Determines if the text in "File Name" will look for one file with exact match, or multiple files using regex.

File Name

EMAIL_SOURCE_FILE_NAME

Alphanumeric

None

-

Name of the target file on Workflows. Can be regex if "Match Type" is set accordingly

Folder Name

EMAIL_SOURCE_FOLDER_NAME

Alphanumeric

None

-

Name of the local folder on Workflows to upload the target file from. If left blank, will look in the home directory.

YAML

Below is the YAML template

YAML

source:
  template: Email - Send Message Conditionally
  inputs:
    EMAIL_SEND_METHOD: tls
    EMAIL_SMTP_HOST:
    EMAIL_SMTP_PORT:
    EMAIL_USERNAME:
    EMAIL_PASSWORD:
    EMAIL_SENDER_ADDRESS:
    EMAIL_SENDER_NAME:
    EMAIL_TO:
    EMAIL_CC:
    EMAIL_BCC:
    EMAIL_SUBJECT:
    EMAIL_MESSAGE:
    EMAIL_CONDITIONAL_SEND: file_exists
    EMAIL_SOURCE_FILE_NAME_MATCH_TYPE: exact_match
    EMAIL_SOURCE_FILE_NAME:
    EMAIL_SOURCE_FOLDER_NAME:
  type: TEMPLATE
guardrails:
  retry_count: 1
  retry_wait: 0h0m0s
  runtime_cutoff: 1h0m0s
  exclude_exit_code_ranges:
    - 102
    - 104
    - 200
    - 201
    - 203

      
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.