Skip to main content

Email Blueprints#

Authorization#

Google#

In order to send an email from a Google account, you'll need to use an application specific password.

Create an Application Specific Password#

  1. Go to your Google Account.

Google Account Page

  1. Select Security under the side bar. Under "Signing in to Google," select App Passwords. You may be asked to log in again.

Google Account Security Page

If you don’t have this option, it might be because:

  • 2-Step Verification is not set up for your account.
  • 2-Step Verification is only set up for security keys.
  • Your account is through work, school, or other organization.
  • You turned on Advanced Protection.
  1. At the bottom, click Select app and Custom. Name the app Shipyard or something easy to remember. Click Generate.

  1. On the following screen, copy the app password, shown with a yellow background, to a secure location. This is the password that you'll need to use when sending emails from your Google account via Shipyard.

  1. Click Done once you've saved the password. You'll never be able to see this password again.

Provide Inputs on Shipyard#

We recommend the following settings for successfully sending an email with Google.

VariableValue
Send MethodTLS
SMTP Hostsmtp.gmail.com
SMTP Port587
UsernameYour Google Account Email
PasswordYour Application Specific Password

SendGrid#

In order to send an email from SendGrid, you'll need to use a Sender Identity and an API Key.

Create a Sender Identity#

  1. Navigate to the Sender Authentication page of your SendGrid account. Sender Authentication SendGrid
  2. Follow the on-page instructions to either authenticate your domain, or verify a single sender address.

Create an API Key#

  1. Navigate to the API Key page of your SendGrid account.

API Keys SendGrid

  1. Click Create API Key.

  2. Name your API Key and select the level of access. At minimum, you will need Full Access to Mail Send. Click Create & View once finished.

Create new SendGrid API Key 4. On the following screen, copy the API Key to a secure location. This is the password that you'll need to use when sending emails from your SendGrid account via Shipyard.

Provide Inputs on Shipyard#

We recommend the following settings for successfully sending an email with Google.

VariableValue
Send MethodTLS
SMTP Hostsmtp.sendgrid.net
SMTP Port587
Usernameapikey
Password<your-api-key>
note

The sender address should be the literal text apikey. The Password should be your actual api key (SG.value) NOT base64 encoded.

Outlook (Personal)#

Provide Inputs on Shipyard#

We recommend the following settings for successfully sending an email with Outlook.

VariableValue
Send MethodTLS
SMTP Hostsmtp.office365.com
SMTP Port587
UsernameYour Microsoft Account Email
PasswordYour Microsoft Account Password
note

It's possible that you will run into authentication issues because Microsoft sees the attempted login as suspicious. You'll need to let Microsoft know to allow the login attempt.

Outlook (Office365 Business)#

Enable SMTP Authentication#

Follow this guide to effectively allow for sending emails via SMTP.

Provide Inputs on Shipyard#

We recommend the following settings for successfully sending an email with Outlook.

VariableValue
Send MethodTLS
SMTP Hostsmtp.office365.com
SMTP Port587
UsernameYour Microsoft Account Email
PasswordYour Microsoft Account Password
note

It's possible that you will run into authentication issues because Microsoft sees the attempted login as suspicious. You'll need to let Microsoft know to allow the login attempt.

Amazon SES#

Create an Identity#

  1. Navigate to the SES console within your AWS account.

Amazon SES Console

  1. Click Create Identity
  2. Create an identity by verifying a specific email address. You can also verify a domain if that suits your setup better.

Create Identity with Email Address

  1. Navigate to your email and click the confirmation link to confirm that you have access to the right email.

Create SMTP Credentials#

  1. Navigate to your Amazon SES Account dashboard and scroll to the bottom where it says Simple Mail Transfer Protocol (SMTP) settings.

  1. Click Create SMTP credentials.
  2. Customize the IAM Username and click Create at the bottom.

  1. Store the SMTP credentials somewhere secure.

Provide Inputs on Shipyard#

We recommend the following settings for successfully sending an email with Amazon SES.

VariableValue
Send MethodTLS
SMTP Hostemail-smtp.us-west-2.amazonaws.com
SMTP Port587
UsernameSMTP Username
PasswordSMTP Password
note

If your SES instance is running in a region other than us-west-2, you'll want to use that region in the SMTP Host.

Blueprints#

Send Message#

Overview#

Send an email message to anyone in the world.

A Vessel built with this Blueprint should never fail and will send a message every time it is run.

Variables#

Variable NameDescription
Send MethodDetermines how you want to send the email. Options are TLS and SSL. We generally suggest using TLS when possible.
SMTP HostThe server where your email will be sent from. Usually formatted as smtp.domain.com
SMTP PortThe port from which your email will be sent. Commonly used ports are 25, 465, and 587. We generally suggest using 587 with TLS.
UsernameThe username that your email provider uses to identify your access to send email.
PasswordThe password associated with your username.
Sender AddressThe 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 NameThe name you want users to see that the email is from. If left blank, the Sender Address will be used.
ToThe email(s) that you want to send a message to. Can be comma-separated to include multiple email addresses.
CCThe email(s) that you want your message to be carbon copied (CCed) to. Can be comma-separated to include multiple email addresses.
BCCThe 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 receipients.
SubjectThe subject of the email that you want to send.
MessageThe body of the email, containing your main message. This field supports plain text as well as HTML.

Send Message Conditionally#

Overview#

Send a message via email conditionally by determining if a file exists or not.

Vessels built with this Blueprint should never fail, as the prescence or lack or prescence of the file only indicates whether or not the message should be sent.

Works primarily when used as part of a Fleet, where a File can be generated or downloaded by an upstream Vessel.

Variables#

Variable NameDescription
Send MethodDetermines how you want to send the email. Options are TLS and SSL. We generally suggest using TLS when possible.
SMTP HostThe server where your email will be sent from. Usually formatted as smtp.domain.com
SMTP PortThe port from which your email will be sent. Commonly used ports are 25, 465, and 587. We generally suggest using 587 with TLS.
UsernameThe username that your email provider uses to identify your access to send email.
PasswordThe password associated with your username.
Sender AddressThe 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 NameThe name you want users to see that the email is from. If left blank, the Sender Address will be used.
ToThe email(s) that you want to send a message to. Can be comma-separated to include multiple email addresses.
CCThe email(s) that you want your message to be carbon copied (CCed) to. Can be comma-separated to include multiple email addresses.
BCCThe 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 receipients.
SubjectThe subject of the email that you want to send.
MessageThe body of the email, containing your main message. This field supports plain text as well as HTML.
Send Message Only WhenDetermines 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 NameThe name of the file you want to search for.
Folder NameThe folder that the file can be found in. Unless specified elsewhere, starts by looking in the current working directory. Can contain leading, trailing, or no slashes (if only looking for the file in a single folder).

This field is not required and the folder name can technically be provided as part of the File Name.If left blank, will look for the file in the current working directory.
File Name Match TypeThe way you want the text in the File Name field to be treated.

Exact - Looks for the exact text that was typed in the File Name field, case sensitive.

Regex - Treats the text as that was typed in the File Name field as regex. Will look for any files, in all subdirectories of the provided Folder Name, that match the regex.

Send Message with File#

Overview#

Send a message with a file attachment to anyone in the world.

If multiple files are found, the files will be compressed and zipped together.

Works primarily when used as part of a Fleet, where a File can be generated or downloaded by an upstream Vessel.

This Blueprint is similar to Send Message Conditionally except that it returns an error if a file cannot be found, since the entire objective is to send the file.

Variables#

Variable NameDescription
Send MethodDetermines how you want to send the email. Options are TLS and SSL. We generally suggest using TLS when possible.
SMTP HostThe server where your email will be sent from. Usually formatted as smtp.domain.com
SMTP PortThe port from which your email will be sent. Commonly used ports are 25, 465, and 587. We generally suggest using 587 with TLS.
UsernameThe username that your email provider uses to identify your access to send email.
PasswordThe password associated with your username.
Sender AddressThe 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 NameThe name you want users to see that the email is from. If left blank, the Sender Address will be used.
ToThe email(s) that you want to send a message to. Can be comma-separated to include multiple email addresses.
CCThe email(s) that you want your message to be carbon copied (CCed) to. Can be comma-separated to include multiple email addresses.
BCCThe 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 receipients.
SubjectThe subject of the email that you want to send.
MessageThe body of the email, containing your main message. This field supports plain text as well as HTML.
Send Message Only WhenDetermines 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 NameThe name of the file you want to search for.
Folder NameThe folder that the file can be found in. Unless specified elsewhere, starts by looking in the current working directory. Can contain leading, trailing, or no slashes (if only looking for the file in a single folder).

This field is not required and the folder name can technically be provided as part of the File Name.If left blank, will look for the file in the current working directory.
File Name Match TypeThe way you want the text in the File Name field to be treated.

Exact - Looks for the exact text that was typed in the File Name field, case sensitive.

Regex - Treats the text as that was typed in the File Name field as regex. Will look for any files, in all subdirectories of the provided Folder Name, that match the regex.

Troubleshooting#

Authentication Error#

smtplib.SMTPAuthenticationError

When this error occurs, the combination of username and password that you provided could not be verified by the SMTP Server. There are a few reasons why this error might occur:

  1. You have a typo in your username.
  2. You have a typo in your password.
  3. You aren't using the correct SMTP Server.
  4. The credentials you've provided don't have the right level of access to send an email via SMTP.

Helpful Links#