Send EmailAdmin Scope
You need to accomplish the following steps in order to send an email using the Mail component:
- Configure and verify the domain
- Configure and verify the sender email address
- Configure the SMTP settings for your required email client
Once the above requirements are completed, you can proceed to send your email.
-
It is crucial you verify not only the sender email address, but also its domain. This ensures that the emails sent from your application to your end users are sent securely and that it does not end up in their spam. Learn more about verifying your domain.
-
You must have configured and verified the sender’s email address in the Catalyst console to be able to send emails. If the sender’s email is hosted on a private domain or if you choose to use a third-party email client, you must configure them before sending emails as well.
Catalyst enables you to set multiple email addresses as the receivers, and to CC, BCC, and reply to through a single send mail operation. You can also attach files to your email. The maximum supported limits for email recipients and file attachments in a single send mail operation are specified below:
| Email Header Fields | Maximum Supported Limits |
|---|---|
| To address | 10 |
| CC | 10 |
| BCC | 5 |
| Reply to | 5 |
| Number of file attachments | 5 |
| Size of file attachments | 15MB (through a single file or multiple files up to 5 files) |
Create a JSON Configuration
You must initially create a JSON object containing the required attributes of the email. This includes the sender’s email address and all the recipients of the email. You can also create file streams for the file attachments and pass them through the createReadStream() SDK method, as well as specify the subject and content of the email.
The email reference used in the code below is the component instance.
const fs = require('fs'); // Define the file stream for file attachments
// Create a config object with the email configuration
const config = {
from_email: 'emma@zylker.com',
to_email: ['vanessa.hyde@zoho.com', 'r.owens@zoho.com', 'chang.lee@zoho.com'],
cc: ['p.boyle@zylker.com', 'robert.plant@zylker.com'],
bcc: ['ham.gunn@zylker.com', 'rover.jenkins@zylker.com'],
reply_to: ['peter.d@zoho.com', 'arnold.h@zoho.com'],
subject: 'Greetings from Zylker Corp!',
content:
"Hello, We're glad to welcome you at Zylker Corp. To begin your journey with us, please download the attached KYC form and fill in your details. You can send us the completed form to this same email address. We cann't wait to get started! Cheers, Team Zylker",
attachments: [fs.createReadStream('kycform.pdf')] // Create a file stream for the file attachment
};
Now, you need to pass the config JSON object to the sendMail() SDK method as an argument. This triggers the sending of the email. The promise returned here will be resolved to a JSON object.
const mailPromise = await email.sendMail(config);
console.log(mailPromise);
Example of Expected Response
A sample response that you will receive is shown below.
{
isAsync: false,
project_details: { project_name: "Onboarding", id: "2136000000007733" },
from_email: "emma@zylker.com",
to_email: ["vanessa.hyde@zoho.com", "r.owens@zoho.com", "chang.lee@zoho.com"],
cc: ["p.boyle@zylker.com", "robert.plant@zylker.com"],
bcc: ["ham.gunn@zylker.com", "rover.jenkins@zylker.com"],
reply_to: ["peter.d@zoho.com", "arnold.h@zoho.com"],
html_mode: true,
subject: "Greetings from Zylker Corp!",
content:
"Hello, We're glad to welcome you at Zylker Corp. To begin your journey with us, please download the attached KYC form and fill in your details. You can send us the completed form to this same email address. We can't wait to get started! Cheers, Team Zylker"
}
Last Updated 2026-07-02 14:51:41 +0530 IST
Yes
No
Send your feedback to us