Demo to preview the settings
Introduction
Send emails to your customers with Sendinblue using your SMTP account, a free alternative instead of using Sendgrid. Also a good choice for sending emails without using default admin-no-reply@bubble.is
This plugin uses the v3 API version (the last version)
Prerequisites
To use this plugin you will need to:
- Create an account in Sendinblue: https://onboarding.brevo.com/account/register/
- Get your v3 API key from:
- In case when Brevo needs to verify your account (to prevent spammers), before sending emails, you have to send their support team your page to verify the domain.
How to setup
- Install the plugin https://bubble.io/plugin/sendinblue-smtp-1520524904151x890914947846373400
- Get your v3 API key from: https://app.brevo.com/settings/keys/api
- Add your v3 API key to the plugin settings tab (here)
- Check your account is verified and ready to send emails
You're set to send emails!
Plugin Data/Actions Calls
There are 4 different workflows, below is explained for correct usage.
Data Calls
1. Get a List of emails (advanced)
This endpoint will show the list of emails for the past 30 days by default. To retrieve emails before that time, please pass startDate and endDate in query filters.
You have 5 types of sorting to get the list of emails. You must specify at least one type for the call to work correctly.
1. email - Mandatory if templateId and messageId are not passed in query filters. Email address to which transactional email has been sent.
2. templateId - Mandatory if email and messageId are not passed in query filters. Id of the template that was used to compose a transactional email.
3. messageId - Mandatory if templateId and email are not passed in query filters. Message-ID of the transactional email sent.
4. startDatedate - Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the list. The maximum time period that can be selected is one month.
5. endDatedate - Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the list. The maximum time period that can be selected is one month.
Action Calls
- Send SMTP Mail
- Sender_name: I.E: Alex Black
- Sender_mail*: I.E: info@zeroqode.com (we suggest using the same mail that is configured on Sendinblue as sender mail)
- To_email*: User mail I.E: receiver@mail.com
- To_name*: User name I.E: John
- Message_html*: Message body (accepts HTML tags) NOTE! You cannot use double quotes ("some text")
- Subject*: Message subject NOTE! You cannot use double quotes ("some text")
- Email_toreply*: I.E: info@zeroqode.com
- Name_toreply*: I.E: Zeroqode
We will use this workflow when we need to send a simple message to a user. This workflow is useful i.e. for sending an activation URL, reset password, etc. How to use (fields): (The * fields are required)
- Send SMTP Mail (advanced)
The same action as Send SMTP Mail with customizable flexible JSON body.
Customize the call body according to your requirements:
The Example JSON body:
javascript{ "sender": { "name": "Alex", "email": "senderMail@mail.com" }, "to": [ { "email": "vasile.lupan@zeroqode.com", "name": "John" } ], "htmlContent": "<html><head></head><body><p>Hello,</p>This is my first transactional email sent from Sendinblue.</p></body></html>", "subject": "Subject" }
- Send SMTP Mail + File
- Sender_name: I.E: Alex Black
- Sender_mail: I.E: info@zeroqode.com (we suggest using the same mail that is configured on Sendinblue as sender mail)
- Recipient_email*: User mail I.E: receiver@mail.com
- Recipient_name*: User name I.E: John
- Reply_to*: Email on which transactional mail recipients will be able to reply back.
- Reply_to_name*: User name on which transactional mail recipients will be able to reply back.
- Attachment_url*: Pass the absolute URL (no local file) or the base64 content of the attachment.
- Attachment_name*: Name of the attachment with extinction, example: myAttachmentFromUrl.jpg
- Message_html*: Message body (accepts HTML tags) NOTE! You cannot use double quotes ("some text")
- Subject*: Message subject NOTE! You cannot use double quotes ("some text")
This workflow is used when sending a simple message with an attached file.
- Send SMTP Mail + File (advanced)
- Filename_extension*: Here we can customize the filename that will receive the user. I.E: If we are sending a Jpeg image: Myfilename.jpg
- URL*: File URL. Please note when we use the file from our database, it is stored in //s3…, so when we send the file - we need to set static http/s: then the URL of the file
- content*: File content. If you are using a file from your database, use this field. To do this, you need to convert the file to Base64 code.
This workflow is used when sending a simple message with an attached file. This workflow is practical i.e. for sending invoices, birthday post-cards, or others. (We recommend using this workflow only when you need to send a file because the file is required, so if you need to send only a message, don't use this one)
NOTE: You cannot use double quotes in the subject or message ("some text")!
How to use (fields): (All the other fields are the same as point 1)
NOTE: Don't use both fields (URL and content) at the same time !!!
(Next 2 workflows: Templates). Please note you need a template. The sender name, and sender mail is configured in Sendinblue when the template is created.
- Send SMTP Mail + Template
- Sender_name: I.E: Alex Black
- Sender_mail: I.E: info@zeroqode.com (we suggest using the same mail that is configured on Sendinblue as sender mail)
- Subject*: Message subject NOTE! You cannot use double quotes ("some text")
- Recipient_email*: User mail I.E: receiver@mail.com
- Recipient_name*: User name I.E: John
- params_user: Pass the set of attributes to customize the template.
- params_count: Pass the set of attributes to customize the template.
- templateId: Id of the template.
You can send an email with a template created in your Sendinblue account.
- Send SMTP Mail + Template (advanced)
You can send an email with a template created in your Sendinblue account.
Customize the call body according to your requirements:
The Example JSON body:
javascript{ "sender": { "email": "kacinski@gmail.com" }, "to": [ { "email": "zqdevelopment@gmail.com" } ], "subject": "Test Subject2", "replyTo": { "email": "kacinski.e@gmail.com" }, "params": { "name": "Alex K", "count": "Second" }, "templateId": 2 }
You can customize the {body} content of the Send SMTP Mail + Template action.
For example, you can add the sender name, reply_to name fields, and many more. It is necessary to stick to the JSON syntax rules. You can validate your {body} using any free JSON validator, like https://jsonlint.com/
The Sendinblue documentation can be viewed here https://developers.sendinblue.com/reference/transactional-emails
To insert a template, add the required parameter to the call body, where the number is the template ID.
javascript"templateId":2
To add params from the template, add the required parameter to the call body
javascript"params": { "name": "Alex K", "count": "Second" },
where "name" is the paramsKey, "Alex K" is the paramsName
In the template on the Sendinblue side, the parameters are written as follows {{ params.paramsKey }}
- Send SMTP Mail with ReplyTo
This workflow is used when sending a simple message with the “replyto” parameter.
Plugin Actions
- Send batch emails
Send an email to a list of recipience.
Fill in “Sender name”, “Sender email”, “To name” and “To email.”
In order to use the action fill in an Api key in the plugin tabs
Title | Description | Type |
Sender, mandatory if templateId is not passed. Pass name (optional) and email of sender from which emails will be sent. | ||
Sender name | Name of the sender from which the emails will be sent. Maximum allowed characters are 70. | Text (optional) |
Sender email | Email of the sender from which the emails will be sent. | Text (optional) |
Reply-To name | Name in reply to. Maximum allowed characters are 70 | Text (optional) |
Reply-To email | Email address in reply to | Text (optional) |
To | ||
To names | (list) Name of the recipient. Maximum allowed characters are 70 | Text(list) |
To emails | (list) Email address of the recipient | Text(list) |
CC | ||
CC names | (list) Name of the recipient in cc. Maximum allowed characters are 70 | Text(list) (optional) |
CC emails | (list) Email address of the recipient in cc | Text(list) (optional) |
BCC | ||
BCC names | (list) Name of the recipient in bcc. Maximum allowed characters are 70 | Text(list) (optional) |
BCC emails | (list) Email address of the recipient in bcc | Text(list) (optional) |
Subject | ||
Subject | Subject of the message. Mandatory if ‘templateId’ is not passed | Text (optional) |
Content | ||
Html content | HTML body of the message. Mandatory if ‘templateId’ is not passed, ignored if ‘templateId’ is passed | Text (optional) |
TemplateId | Id of the template | Number (optional) |
HTML variables | ||
Params | (optional) there can be provided html variables, for example if there is {{params.paragraphText}} in the html content or templet, fill-in this fields with Key: “paragraphText” , value: “this is the text for the paragraph section” (without quotation marks) | List of key/value reperesenting text |
Attachment | ||
Attachments URLs | (list) Pass the absolute URL (no local file) of the attachment along with the attachment name. Allowed extensions for attachment file: xlsx, xls, ods, docx, docm, doc, csv, pdf, txt, gif, jpg, jpeg, png, tif, tiff, rtf, bmp, cgm, css, shtml, html, htm, zip, xml, ppt, pptx, tar, ez, ics, mobi, msg, pub, eps, odt, mp3, m4a, m4v, wma, ogg, flac, wav, aif, aifc, aiff, mp4, mov, avi, mkv, mpeg, mpg, wmv, pkpass and xlsm. | Text(list) (optional) |
Attachments names | (list) If templateId is passed and is in New Template Language format then attachment url is accepted. If template is in Old template Language format, then attachment is ignored | Text(list) (optional) |
Return Values:
Title | Description | Type |
Message Id | Id of the message.
Example: 202406031155.73283241295@smtp-relay.mailin.fr | Text |
Error | A list of errors, if any, when sending messages. | Text (list) |