--- title: "Send Email" url: https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/send-email/ description: "This page describes the method to perform operations using the Mail component." last_updated: 2026-09-09T10:45:38Z service: CloudScale type: general related_links: - name: "Catalyst CloudScale" url: /en/cloud-scale/ - name: "Mail Help Documentation" url: /en/cloud-scale/help/mail/introduction/ - name: "Java SDK Documentation" url: /en/sdk/java/v1/cloud-scale/mail/send-email/ - name: "Python SDK Documentation" url: /en/sdk/python/v1/cloud-scale/mail/send-email/ - name: "REST API Documentation" url: /en/api/code-reference/cloud-scale/mail/send-email/#SendEmail repository: name: "Repository" url: https://github.com/catalystbyzoho/zcatalyst-sdk-js --- # Send Email > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/overview/#prerequisites) to use this SDK method. You need to accomplish the following steps in order to send an email using the Mail component: * [Configure and verify the domain](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/domains/) * [Configure and verify the sender email address](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/email-configuration/) * [Configure the SMTP settings for your required email client](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/smtp-configuration/) Once the above requirements are completed, you can proceed to send your email. > **Notes:** * 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](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/domains/#verify-a-domain). * You must have [configured and verified the sender’s email address](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/introduction) 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)
> **Note:** The **subject**, **sender**, and **at least one recipient email addresses** are mandatory. Other attributes of the email are optional. #### 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](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/get-mail-instance/). ```javascript 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 can'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. ```javascript const mailPromise = await email.sendMail(config); console.log(mailPromise); ``` #### Example of Expected Response A sample response that you will receive is shown below. ```javascript { 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" } ```