Skip to content
dy0gu edited this page Nov 10, 2024 · 12 revisions

Fields

Instructions on how to configure SMTP settings and input email details.

Host

  • Check your email provider for documentation on the correct SMTP host.
  • Gmail uses smtp.gmail.com.

Port

  • Check your email provider for documentation on the correct SMTP port.
  • Common ports are 587 (TLS) and 465 (SSL).
  • Default value is 587.
  • Gmail uses port 587.

Username

  • Check your email provider for documentation on what to use as the SMTP username.
  • Gmails uses the full email address, e.g example@gmail.com.

Password

  • Check your email provider for documentation on what to use as the SMTP password.
  • Gmail needs you to generate an app password from the account page to use in external applications, using your normal account password will not work!

Subject

  • Used as the email title.
  • Use ${VARIABLE_ID} for dynamic content. e.g Weekly Report - ${DATE}.

From

  • This input is optional if the SMTP Username has a @ since we will automatically build it, like so:
    • If the SMTP Username is [person@example.com] and the From header is empty then it automatically gets written by the program before sending.
    • If the SMTP Username is [myusername] and the From header is empty then the submit action fails because without a @ in the SMTP username this field is mandatory to be written manually by the user!
  • Used to set the corresponding header in the email protocol.
  • Even when the field is optional you can still fill it in manually if you need to overwrite our automatic string build.

Reply

  • This field is optional, by default it uses the From header value.
  • Use it to show an address other than the one that sent the email when the receiver wants to reply.
  • Use ${VARIABLE_ID} for dynamic content. e.g ${REPLY_1},not-dynamic@example.com,${REPLY_2}.

CC

  • This field is optional.
  • Separate multiple emails with commas, e.g person1@example.com,person2@example.com.
  • Use ${VARIABLE_ID} for dynamic content. e.g ${CC_1},not-dynamic@example.com,${CC_2}.

BCC

  • This field is optional.
  • Separate multiple emails with commas, e.g person1@example.com, person2@example.com.
  • Use ${VARIABLE_ID} for dynamic content. e.g ${BCC_1},not-dynamic@example.com,${BCC_2}.

Body

  • Pick a text or HTML file for your email body.
  • Use ${VARIABLE_ID} for dynamic content. e.g Hello ${NAME}, your new balance is ${AMOUNT}.

Table

  • Pick a table file to get dynamic content from, both CSV and modern spreadsheet files are accepted.
  • The file picker that opens will only allow supported file types.
  • Each row represents an email to be sent, the first row is used to get the column names and is therefore skipped/reserved.

  • The 1st column is always the address to send the email to and is required, you can still change it's name to whatever you want.

  • The 2nd column will always represent the array of files to attach to the email and can be left empty, you can also name it anything.
  • You can attach multiple files by separating them with commas, e.g file1.pdf,file2.pdf.
  • Read the next item on this guide for more details on how files are loaded from paths using their name.

  • Every other column should be named and used for dynamic content.
  • When writing dynamic content, the table file must have columns with the name of every variable used in any other field.
  • You can leave columns empty in rows where you don't need that dynamic content.

Attachments

  • Pick a directory to get attachments from.
  • The app expects every attachment that is going to be used to be in that single directory
  • Each file in the second column of the table is then loaded by joining the picked directory with the file name from the table.

Tips

Recommendations before sending emails:

  • Test by sending to a small, controlled group.
  • Double-check input fields for accuracy.
  • Ensure all files referenced in the attachments directory exist.
  • Monitor the log output for error messages, which will be highlighted in red.
  • Remember that the first row of the given table is skipped and considered as the headers row!
  • Refer to the examples in this folder if further guidance is needed.

Troubleshooting

Common issues and solutions.

Authentication failed

  • Check the username/password used and read the guide section relating to these fields again.

Connection refused

  • Verify SMTP host and port.