-
Notifications
You must be signed in to change notification settings - Fork 1
Home
dy0gu edited this page Jun 25, 2025
·
26 revisions
Instructions on how to configure SMTP settings and input email details.
- Check your email provider for documentation on the correct SMTP host.
- Gmail uses
smtp.gmail.com.
- Check your email provider for documentation on the correct SMTP port.
- Common ports are 587 (TLS) and 465 (SSL). Note that only TLS has been thoroughly tested, SSL is an outdated protocol.
- The encryption protocol is explicitly hardcoded as TLS to prevent sending unencrypted communications, it cannot be changed.
- Default value is
587. - Gmail uses port
587.
- 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.
- 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!
- Some email providers block requests if too many emails are sent in a flash, this setting controls the spacing (in seconds) between each email sent, to protect against such rate limits. For safety reasons, there is a minium value attached to this setting.
- Used as the email title.
- Use
${VARIABLE_ID}for dynamic content. e.gWorkshop Certificate - ${FIRST_NAME}.
- 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.
- 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}.
- 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}.
- 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}.
- Pick a text or HTML file for your email body.
- To place a custom signature you will have to use HTML, e.g using an
<img>tag that points to a URL hosting the image. - Use
${VARIABLE_ID}for dynamic content. e.gHello ${NAME}, your new balance is ${AMOUNT}. - See here for an example. You can also find the example table used to fill these variables in the next section of this page.
- 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
#, e.gfile1.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.
- See here for an example.
- Pick a directory to get attachments from.
- You must pick a directory even if you are not sending any files, the app can't tell if you want to send files before runtime.
- 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.
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.
Common issues and solutions.
- Check the username/password used and read the guide section relating to these fields again.
- Verify SMTP host and port.