# Mail -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst Mail enables you to send emails from your application by configuring your organization's email addresses of public or private domains, or the SMTP settings of any external email clients you prefer to use." last_updated: "2026-03-18T07:41:08.534Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Mail ### Introduction Mail is a Catalyst Cloud Scale component that allows you to securely send emails from within your Catalyst application to its end-users. You can configure sender email addresses for different departments like marketing, customer support, or finance and send transactional or mass communication emails based on your app’s business logic. Whether using public domain emails or your own domain’s addresses, this system powered by Catalyst lets you authenticate and manage these configurations directly from the console. Additionally, you have the flexibility to either use Catalyst’s built-in email client or integrate with an external email client by configuring SMTP settings. #### SDK and API documentation Catalyst provides you with SDK tools and an API to send emails to your application users. You can easily incorporate the developer tools in your application's code after you configure the sender emails and domains with Catalyst. Refer to the SDK and API documentation for details: * {{%link href="/en/sdk/java/v1/cloud-scale/mail/send-email/" %}}Send Mail- Java SDK{{%/link%}} * {{%link href="/en/sdk/nodejs/v2/cloud-scale/mail/get-component-instance/" %}}Send Mail- Node.js SDK{{%/link%}} * {{%link href="/en/sdk/python/v1/cloud-scale/mail/get-component-instance/" %}}Send Mail- Python SDK{{%/link%}} * {{%link href="/en/api/code-reference/cloud-scale/mail/send-email/#SendEmail" %}}Send Mail- API{{%/link%}} #### Key Features of Catalyst Mail * Enables you to configure a sender email address with the click of a few buttons and send emails within minutes. * Highly scalable and ensures speed, efficiency, and consistency irrespective of the load. * Allows you to store multiple email addresses for various purposes. * Enables the use of public domain email addresses directly without configuring their SMTP settings, for the domains that support this functionality. * Provides you with the flexibility of configuring private domains or your organization's own domains and send emails from them. * Optimized performance of the built-in email client and reliable email delivery helps boost your business credibility. * Allows you to use an email client of your choice instead of the built-in client. * Provides support for various functionalities such as file attachments, CC, and BCC while sending emails through the SDKs or the API. <br /> -------------------------------------------------------------------------------- title: "Email Configuration" description: "Catalyst Mail enables you to send emails from your application by configuring your organization's email addresses of public or private domains, or the SMTP settings of any external email clients you prefer to use." last_updated: "2026-03-18T07:41:08.534Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/email-configuration/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Email Configuration You can configure the sender email addresses in the _Email Configuration_ section of the Mail component from your console. These email addresses can be from public domain email clients such as Gmail, Apple mail, and Outlook, or hosted in a private domain, such as your organization's or business's domain. {{%note%}}{{%bold%}}Note{{%/bold%}}: To send emails from Catalyst using the Email component, you need verify both the sender email address and the domain. * [Learn more about verifying the domain](#verify-the-domain). * {{%link href="/en/cloud-scale/help/mail/domains/#verify-a-domain" %}}Learn more about verifying the sender email addresses{{%/link%}}{{%/note%}} After an email address is added and verified, you can send emails with it from your Catalyst application by coding the logic using the SDK toolkits, or using the API. ### Add a New Email Address To add a new sender email address for your Catalyst application: 1. Navigate to {{%bold%}}Notify{{%/bold%}} then {{%bold%}}Mail{{%/bold%}}, in your Catalyst Cloud Scale console. 2. Click {{%bold%}}Add Email Address{{%/bold%}} in the _Email Configuration_ section.<br /> <br /> 3. Enter the name that must be displayed as the sender's name and the sender email address, then click {{%bold%}}Add Email{{%/bold%}}.<br /> <br /> 4. Click {{%bold%}}Add Email{{%/bold%}}. The email address is now added in your Catalyst project as a sender. You can find all the email addresses that you have added listed in the _Email Configuration_ page. After you add an email address, you must verify it and its domain before it can be used. The _Confirmation Status_ column displays the verification status for each email address. ### Verify an Email Address To verify an email address that was added: 1. Click {{%bold%}}Click to confirm{{%/bold%}} for the email address that you want to confirm.<br /> <br /> This will automatically send an email to the email address containing a confirmation code.<br /> <br /> 2. Enter the confirmation code that was sent in the pop-up box shown next to the email address.<br /> <br /> 3. Click {{%bold%}}Confirm{{%/bold%}}. If you did not receive an email with the confirmation code, click {{%bold%}}Resend Code{{%/bold%}} in the pop-up box. After the confirmation code has been entered and verified, the confirmation status of your email address will be changed to _Verified_. <br /> You will need to {{%link href="/en/cloud-scale/help/mail/domains/#verify-a-domain" %}}verify the domain{{%/link%}} to send emails. -------------------------------------------------------------------------------- title: "SMTP Configuration" description: "Catalyst Mail enables you to send emails from your application by configuring your organization's email addresses of public or private domains, or the SMTP settings of any external email clients you prefer to use." last_updated: "2026-03-18T07:41:08.534Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/smtp-configuration/" service: "Cloud Scale" -------------------------------------------------------------------------------- # SMTP Configuration Catalyst uses Zoho's own email client for sending emails from within Catalyst applications. If you prefer to use another email client instead, you can configure the SMTP settings of that email client in your project. SMTP (Simple Mail Transfer Protocol) is a standard protocol for electronic mail transmission. It handles the communication between the servers used to send and receive emails. To use another email client in place of Zoho's own client for sending emails, you must configure the client's SMTP server in Catalyst by adding its parameters. After the SMTP server has been configured, the third-party email client will handle the emails that you send from your Catalyst application. {{%note%}}{{%bold%}}Note:{{%/bold%}} Although you can use public domain email addresses to send emails from Catalyst, Zoho cannot guarantee the functioning of these email domains. Your emails may sometimes not be delivered or be delivered in the receiver's spam folder. <br /><br />Some public domain email providers, such as Yahoo Mail, cannot be used directly in Catalyst to send emails. In such cases, you will need to configure the email client's SMTP settings with Catalyst to be able to use it. If the public domain email can be used directly with Catalyst, configuring its SMTP settings is optional.{{%/note%}} To configure the SMTP server of another email client in Catalyst: 1. Click the {{%bold%}}SMTP Configuration{{%/bold%}} tab in the _Mail_ component, and click **Add SMTP**. <br /> <br /> 2. Enter the following SMTP parameters of the email client: * {{%bold%}}Sender Address{{%/bold%}}: The sender email address that you want to configure with the email client. * {{%bold%}}SMTP Server Host{{%/bold%}}: The name of the email client's SMTP server host. * {{%bold%}}SMTP Server Port{{%/bold%}}: The port number of the SMTP's server. The available ports are 25, 465, 587, and 2525. * {{%bold%}}SMTP Account Username{{%/bold%}}: Your SMTP account username. * {{%bold%}}SMTP Account Password{{%/bold%}}: Your SMTP account password. * {{%bold%}}SMTP Account Security Mode{{%/bold%}}: You can use {{%bold%}}SSL{{%/bold%}} or {{%bold%}}TLS{{%/bold%}} encryption to make your connection secure by encrypting the communication channel. You can select {{%bold%}}None{{%/bold%}} for no security.<br /> <br /> 3. Click {{%bold%}}Save{{%/bold%}}. <br /> The SMTP server is now configured in your Catalyst project. You can now send emails from the application, and this external client will handle the process. You can also disable the email client if you do not require it, using the toggle switch on the top, and re-enable it when needed. <br /> -------------------------------------------------------------------------------- title: "Domains" description: "Catalyst Mail enables you to send emails from your application by configuring your organization's email addresses of public or private domains, or the SMTP settings of any external email clients you prefer to use." last_updated: "2026-03-18T07:41:08.534Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/domains/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Domains If the sender email addresses you wish to use are not by public email providers such as Gmail or Outlook, and are hosted on a private domain such as your business's own domain through third-party email providers or hosting services, you will need to add and validate that domain in Catalyst. You can add the sender email addresses, after you validate the domain. Catalyst requires the authenticity of external domains and sub-domains be verified. Domain validation is mandatory, as Catalyst needs to ensure that the domain an email is sent from is valid and trustworthy. Catalyst performs this validation of the domains and sub-domains you add, through their DNS configurations. This is done using the following email authentication and validation standards: * {{%bold%}}DKIM{{%/bold%}}: {{%link href="https://www.zoho.com/mail/help/adminconsole/dkim-configuration.html" %}}DKIM{{%/link%}} (DomainKeys Identified Mail) is an authentication method which uses encryption with public/private keys, to validate whether the emails are generated from the authorized servers. * {{%bold%}}SPF{{%/bold%}}: {{%link href="https://www.zoho.com/mail/help/adminconsole/spf-configuration.html" %}}SPF{{%/link%}} (Sender Policy Framework) is an email validation system which looks for spoofed or forged emails using a specific SPF record published for the domain with the details of the hosts that are permitted by the domain's administrators. This enables Catalyst to provide security for the applications you build with it. ### Add Your Own Domain To add an external domain in Catalyst: 1. Click the {{%bold%}}Domain{{%/bold%}} tab in the _Mail_ component, then click {{%bold%}}Add Domain{{%/bold%}}.<br /> <br /> 2. Enter the email address of the external domain.<br /> <br /> 3. Click {{%bold%}}Create{{%/bold%}}. The domain is now added in the project and will be displayed in the Domain section. You can add and use multiple domains for sending emails from your application. You must now verify and authenticate the domain before you use it. ### Verify a Domain To verify an external domain: 1. Click {{%bold%}}Verify Code{{%/bold%}} for the domain you want to verify in the _Domain_ section.<br /> <br /> This will automatically send an email to the email address containing a confirmation code.<br /> <br /> If you don't receive the email with the verification code, click {{%bold%}}Resend Code{{%/bold%}} in the _Verify Code_ box.<br /> 2. Enter the verification code that was sent to the email address in the pop-up box in the console.<br /> <br /> 3. Click {{%bold%}}Confirm{{%/bold%}}. If the verification code matches, the domain will be displayed as verified. <br /> {{%note%}}{{%bold%}}Note:{{%/bold%}} You will not be able to verify public domain email addresses such as Gmail and Yahoo Mail, and hence not be able to send emails through Catalyst Mail using them.{{%/note%}} ### Authenticate your Domain You will also need to authenticate the external domain by validating its DKIM and SPF records. To do this, you must configure the DKIM and SPF record codes that are generated in Catalyst with the DNS settings of your domain's host. To authenticate an external domain: 1. Click {{%bold%}}Validate{{%/bold%}} for the domain you wish to authenticate in the _Domain_ section..<br /> <br /> 2. Copy the {{%bold%}}SPF{{%/bold%}} and the {{%bold%}}DKIM{{%/bold%}} record codes shown in the pop-up window.<br /> <br /> 3. Navigate to the {{%bold%}}DNS settings{{%/bold%}} of the domain's host and paste the SPF and DKIM record codes in the respective fields. This process will vary depending on the domain host you use. 4. After the record codes have been added and saved in the domain's host, click {{%bold%}}Authenticate{{%/bold%}} in the _Authenticate Domain_ pop-up in the Catalyst console. After the SPF and DKIM record codes have been validated by Catalyst, your domain will be displayed as authenticated. <br /> Once the domain and the sender email address are verified, you will be able to send emails using the *Mail* component. <br /> You can also add and verify the email addresses of this domain to send emails from Catalyst in the same manner as described in {{%link href="/en/cloud-scale/help/mail/email-configuration/#add-a-new-email-address" %}}this section{{%/link%}}. -------------------------------------------------------------------------------- title: "Send Emails" description: "Catalyst Mail enables you to send emails from your application by configuring your organization's email addresses of public or private domains, or the SMTP settings of any external email clients you prefer to use." last_updated: "2026-03-18T07:41:08.535Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/send-emails/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Send Emails You can send emails from your Catalyst application after you configure the sender email address, and optionally the private domain and the SMTP server of the email client. The code templates for {{%link href="/en/sdk/java/v1/cloud-scale/mail/send-email/" %}}Java{{%/link%}}, {{%link href="/en/sdk/nodejs/v2/cloud-scale/mail/get-component-instance/" %}}Node.js{{%/link%}} and {{%link href="/en/sdk/python/v1/cloud-scale/mail/get-component-instance/" %}}Python{{%/link%}} platforms, as well as the {{%link href="/en/api/code-reference/cloud-scale/mail/send-email/#SendEmail" %}}API{{%/link%}} specifications to send emails are mentioned in the respective help pages. {{%note%}}{{%bold%}}Note:{{%/bold%}} Ensure you verify your domain with Catalyst to send out emails using the Mail component. No emails can be sent without the verification being done. Attempting to send emails without proper {{%link href="/en/cloud-scale/help/mail/email-configuration/#verify-an-email-address" %}}email{{%/link%}} and {{%link href="/en/cloud-scale/help/mail/domains/#verify-a-domain" %}}domain{{%/link%}} verification will throw an exception, and mail will not be sent.{{%/note%}} Catalyst enables you to set multiple email addresses as the receivers, and to CC, BCC, and reply to, through a single send mail operation through the SDKs or the API. You can also attach files in the emails you send. The maximum supported limits for email recipients and file attachments in a single send mail operation are specified below: * {{%bold%}}To address:{{%/bold%}} 10 * {{%bold%}}CC:{{%/bold%}} 10 * {{%bold%}}BCC:{{%/bold%}} 5 * {{%bold%}}Reply to:{{%/bold%}} 5 * {{%bold%}}Number of file attachments:{{%/bold%}} 5 * {{%bold%}}Size of file attachments:{{%/bold%}} 15 MB (through a single file or multiple files upto 5 files) <br /> --- ## API Reference — Mail -------------------------------------------------------------------------------- title: "Send Email" description: "This API enables you to send emails from a verified email address from your Catalyst application through Catalyst Mail." last_updated: "2026-03-18T07:41:08.540Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/mail/send-email/" service: "Cloud Scale" -------------------------------------------------------------------------------- {{% section path="/en/api/code-reference/cloud-scale/mail/send-email/" id="SendEmail" %}} {{%divtag class="LeftContent"%}} # Mail {{%link href="/en/cloud-scale/help/mail/introduction/"%}}Catalyst Mail{{%/link%}} enables you to add the email addresses of your business that will be used to send emails to the end-users from your Catalyst application. You can configure email addresses of public domains or of your organization's own domains. You can also use an external email client of your choice and configure its SMTP settings with Catalyst, instead of using the built-in Catalyst email client. You can perform these configurations from the console. # Send Email ### Description This API enables you to send emails from a verified email address to the recipients you specify, from your Catalyst application. 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 in your email. The **maximum supported limits** for email recipients and file attachments in a single send mail operation are specified below: * To address: 10 * CC: 10 * BCC: 5 * Reply to: 5 * Number of file attachments: 5 * Size of file attachments: 15 MB (through a single file or multiple files upto 5 files) You must pass the sender and receiver email addresses, the subject, content, and the attachments of the email as form-data in your API request. The keys to be passed as **form-data**, along with sample values are specified *Form-Data Properties* section below. {{%note%}} {{%bold class="bold-primary"%}}Note:{{%/bold%}} You must have {{%link href="/en/cloud-scale/help/mail/email-configuration/"%}}configured and verified the sender's email address{{%/link%}} 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.{{%/note%}} ### Request Details #### Request URL {{%request class="apiyellow" req="POST" %}}<p>{api-domain}/baas/v1/project/{project_id}/email/send</p>{{%/request%}} {{%request_id id="api-domain" data="URL" %}}The DC-specific domain to access Catalyst API{{%/request_id%}} {{%request_id id="project_id" data="Numerical" %}}The {{%link href="/en/getting-started/set-up-a-catalyst-project/general-settings/"%}}unique ID{{%/link%}} of the project{{%/request_id%}} #### Request Headers {{%scope%}} **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Content-Type:** multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW {{%/scope%}} **Optional Headers** <br> {{%scope%}} **CATALYST-ORG:** {org_id} {{%/scope%}} {{%scope%}} **Environment:** Development {{%/scope%}} #### Scope {{%scope%}} ZohoCatalyst.email.CREATE {{%/scope%}} #### Form-Data Properties {{% nested_fields children="open" border="yes" expandable="no" title="from_email" textformat=" " condition="mandatory" maxlength=" " %}} The sender's email address that is configured in Catalyst Mail {{% /nested_fields %}} {{% nested_fields children="open" border="yes" expandable="no" title="to_email" textformat=" " condition="atleast one recipient mandatory" maxlength=" " %}} Email addresses of the recipients {{% /nested_fields %}} {{% nested_fields children="open" border="yes" expandable="no" title="cc" textformat=" " condition="optional" maxlength="" %}} Email addresses to carbon copy (cc) {{% /nested_fields %}} {{% nested_fields children="open" border="yes" expandable="no" title="bcc" textformat=" " condition="optional" maxlength=" " %}} Email addresses to blind carbon copy (bcc) {{% /nested_fields %}} {{% nested_fields children="open" border="yes" expandable="no" title="reply_to" textformat=" " condition="optional" maxlength=" " %}} Email addresses to reply to {{% /nested_fields %}} {{% nested_fields children="open" border="yes" expandable="no" title="attachments" textformat=" " condition="optional" maxlength="" %}} The files to be attached in the email {{% /nested_fields %}} {{% nested_fields children="open" border="yes" expandable="no" title="subject" textformat=" " condition="mandatory" maxlength="" %}} The subject of the email {{% /nested_fields %}} {{% nested_fields children="open" border="yes" expandable="no" title="content" textformat=" " condition="optional" maxlength="" %}} The body of the email. You can pass the content in a HTML format by setting the {{%badge%}}html_mode{{%/badge%}} as "True". {{% /nested_fields %}} {{% nested_fields children="open" border="yes" expandable="no" title="html_mode" textformat=" " condition="optional" maxlength="" %}} Specifies if the email content is in a HTML format. You must pass {{%badge%}}true{{%/badge%}} or {{%badge%}}false{{%/badge%}} as the value. If the value is {{%badge%}}false{{%/badge%}}, the email content is in a regular text format. {{% /nested_fields %}} {{% nested_fields children="open" border="yes" expandable="no" title="display_name" textformat=" " condition="optional" maxlength="" %}} The display name of the sender {{% /nested_fields %}} ### Response Details The response returns the details of the email that was sent such as the status of the sent email, the project details, {{%badge%}}from_email{{%/badge%}}, {{%badge%}}to_email{{%/badge%}}, and {{%badge%}}content{{%/badge%}}. {{%/divtag%}} {{%divtag class="RightContent"%}} {{% panel_without_adjustment header="Sample Request" class="language-bash" %}}curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/email/send \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" \ -F from_email=emma@zylker.com \ -F to_email=vanessa.hyde@zoho.com,r.owens@zoho.com,chang.lee@zoho.com \ -F cc=p.boyle@zylker.com,robert.plant@zylker.com \ -F bcc=ham.gunn@zylker.com,rover.jenkins@zylker.com \ -F reply_to=peter.d@zoho.com,arnold.h@zoho.com \ -F attachments=kycform.pdf \ -F subject="Greetings from Zylker Corp!" \ -F content="<p>Hello,</p><p>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 cannot wait to get started!<p>Cheers!</p><p>Team Zylker</p>" \ -F html_mode=true \ -F display_name="Amelia Burrows" \ {{% /panel_without_adjustment %}} {{% panel_without_adjustment header="Sample Response" class="language-json line-numbers"%}} { "status": "success", "data": { "isAsync": false, "project_details": { "project_name": "Onboarding", "id": 2648000000235047, "project_type": "Live" }, "display_name": "Amelia Burrows", "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" ], "html_mode": true, "subject": "Greetings from Zylker Corp!", "content": "<p>Hello,</p><p>We're glad to welcome you at Zylker Corp. To begin your journey with us, please download thattached KYC form and fill in your details. You can send us the completed form to this same email address. We cannowait to get started!<p>Cheers!</p><p>Team Zylker </p>", "reply_to": [ "peter.d@zoho.com", "arnold.h@zoho.com" ] } }{{% /panel_without_adjustment %}} {{% expand-container %}} {{% expand id="sdk_docs" header="SDK Documentation"%}} {{%link href="/en/sdk/java/v1/cloud-scale/mail/send-email"%}}Send Email- Java SDK{{%/link%}}</br></br> {{%link href="/en/sdk/nodejs/v2/cloud-scale/mail/send-email"%}}Send Email- Node.js SDK{{%/link%}}</br></br> {{%link href="/en/sdk/python/v1/cloud-scale/mail/send-email"%}}Send Email- Python SDK{{%/link%}}</br></br> {{%/expand%}} {{%/expand-container%}} {{%/divtag%}} {{%/section%}} --- ## SDK — Java — Mail -------------------------------------------------------------------------------- title: "Send email" description: "This page describes the method to send out emails to end-users from your Java application with sample code snippets." last_updated: "2026-03-18T07:41:08.546Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/mail/send-email/" service: "Cloud Scale" related: - Send email - API (/en/api/code-reference/cloud-scale/mail/send-email/#SendEmail) - Send email (/en/cloud-scale/help/mail/introduction) -------------------------------------------------------------------------------- # Mail {{%link href="/en/cloud-scale/help/mail/introduction" %}}Catalyst Mail{{%/link%}} enables you to add the email addresses of your business that will be used to send emails to the end-users from your Catalyst application. You can configure email addresses of public domains or of your organization's own domains. You can also use an external email client of your choice and configure its SMTP settings with Catalyst, instead of using the built-in Catalyst email client. ### Send Mail You must configure the domains, email addresses, and the SMTP settings for an email client of your choice from the console. The code snippet shown here enables you to send emails to the email addresses you specify from your Catalyst application. 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 in your email. The {{%bold%}}maximum supported limits{{%/bold%}} for email recipients and file attachments in a single send mail operation are specified below: * {{%bold%}}To address:{{%/bold%}} 10 * {{%bold%}}CC:{{%/bold%}} 10 * {{%bold%}}BCC:{{%/bold%}} 5 * {{%bold%}}Reply to:{{%/bold%}} 5 * {{%bold%}}Number of file attachments:{{%/bold%}} 5 * {{%bold%}}Size of file attachments:{{%/bold%}} 15 MB (through a single file or multiple files upto 5 files) {{%note%}}{{%bold%}}Note:{{%/bold%}} The subject, sender, and atleast one recipient email addresses are mandatory. Other attributes of the email are optional.{{%/note%}} You must fetch an instance of {{%badge%}}ZCMailContent{{%/badge%}} as shown in the code below. You can define the recipients and file attachments of an email as array lists. You must then set these lists, as well as the sender's email address, the subject and the content of the email in the {{%badge%}}ZCMailContent{{%/badge%}} object, and pass it as an argument to the {{%badge%}}sendMail(){{%/badge%}} method to send the email. {{%note%}}{{%bold%}}Note:{{%/bold%}} You must have {{%link href="/en/cloud-scale/help/mail/introduction" %}}configured and verified the sender's email address{{%/link%}} 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.{{%/note%}} #### Sample Code Snippet {{% panel_without_adjustment header="Package Imports" class="language-java line-numbers" %}}import java.io.File; import com.zc.component.mail.ZCMail; import com.zc.component.mail.ZCMailContent; {{% /panel_without_adjustment %}} {{%code class="language-java" scroll="set-scroll" %}}ZCMailContent mailContent = ZCMailContent.getInstance(); //Get a ZCMailContent instance ArrayList toMailList = new ArrayList(); //Add the recipient email addresses as an array list toMailList.add("vanessa.hyde@zoho.com"); toMailList.add("r.owens@zoho.com"); toMailList.add("chang.lee@zoho.com"); ArrayList ccMailList = new ArrayList<>(); //Add the email addresses to CC as an array list ccMailList.add("p.boyle@zylker.com"); ccMailList.add("robert.plant@zylker.com"); ArrayList bccMailList = new ArrayList<>(); //Add the email addresses to BCC as an array list bccMailList.add("ham.gunn@zylker.com"); bccMailList.add("rover.jenkins@zylker.com"); ArrayList replytoMailList = new ArrayList<>(); //Add the email addresses to reply to as an array list replytoMailList.add("peter.d@zoho.com"); replytoMailList.add("arnold.h@zoho.com"); ArrayList attachments = new ArrayList<>(); //Add the email attachments as an array list File file1 = new File("kycform.pdf"); File file2 = new File("info.png"); attachments.add(file1); attachments.add(file2); // Set the email properties in the ZCMailContent object mailContent.setFromEmail("p.boyle@zylker.com"); //Set the sender's email address mailContent.setToEmailList(toMailList); //Pass the recipient array list mailContent.setCcEmailList(ccMailList); //Pass the CC array list mailContent.setBccEmailList(bccMailList); //Pass the BCC array list mailContent.setReplyTo(replytoMailList); //Pass the reply to array list mailContent.setSubject("Greetings from Zylker Corp!"); //Set the email's subject mailContent.setContent("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 cannot wait to get started!Cheers!Team Zylker"); //Set the email's body as an HTML content mailContent.setAttachments(attachments); //Pass the email attachments array list ZCMail.getInstance().sendMail(mailContent); //Send emails using the mailContent object {{%/code%}} --- ## SDK — Node JS — Mail -------------------------------------------------------------------------------- title: "Get Mail Instance" description: "This page describes the method to send out emails to end-users from your NodeJS application with sample code snippets." last_updated: "2026-03-18T07:41:08.547Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/mail/get-component-instance/" service: "Cloud Scale" related: - Mail (/en/cloud-scale/help/mail/introduction) -------------------------------------------------------------------------------- # Catalyst Mail {{%link href="/en/cloud-scale/help/mail/introduction" %}}Catalyst Mail{{%/link%}} enables you to add the email addresses of your business that will be used to send emails to the end-users from your Catalyst application. You can configure email addresses of public domains or of your organization's own domains. You can also use an external email client of your choice and configure its SMTP settings with Catalyst, instead of using the built-in Catalyst email client. #### Get Component Instance You can create an {{%badge%}}email{{%/badge%}} reference as shown below. This will not fire a server-side call. We will refer to this component instance while performing the send mail operation. {{%code class="language-javascript" scroll="set-scroll" %}}//Create an email instance let email = app.email();{{% /code%}} -------------------------------------------------------------------------------- title: "Send Email" description: "This page describes the method to send out emails to end-users from your NodeJS application with sample code snippets." last_updated: "2026-03-18T07:41:08.547Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/mail/send-email/" service: "Cloud Scale" related: - Send Email - API (/en/api/code-reference/cloud-scale/mail/send-email/#SendEmail) - Mail (/en/cloud-scale/help/mail/introduction) -------------------------------------------------------------------------------- # Send Mail You must configure the domains, email addresses, and the SMTP settings for an email client of your choice from the console. The code shown here enables you to send emails to the email addresses you specify from your Catalyst application. 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 in your email. The {{%bold%}}maximum supported limits{{%/bold%}} for email recipients and file attachments in a single send mail operation are specified below: * {{%bold%}}To address:{{%/bold%}} 10 * {{%bold%}}CC:{{%/bold%}} 10 * {{%bold%}}BCC:{{%/bold%}} 5 * {{%bold%}}Reply to:{{%/bold%}} 5 * {{%bold%}}Number of file attachments:{{%/bold%}} 5 * {{%bold%}}Size of file attachments:{{%/bold%}} 15 MB (through a single file or multiple files upto 5 files) {{%note%}}{{%bold%}}Note:{{%/bold%}} The subject, sender, and atleast one recipient email addresses are mandatory. Other attributes of the email are optional.{{%/note%}} #### 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 {{%badge%}}createReadStream(){{%/badge%}} method, as well as specify the subject and content of the email as shown below. {{%note%}}{{%bold%}}Note:{{%/bold%}} You must have {{%link href="/en/cloud-scale/help/mail/introduction" %}}configured and verified the sender's email address{{%/link%}} 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.{{%/note%}} The {{%badge%}}email{{%/badge%}} reference used in the code below is the {{%link href="/en/sdk/nodejs/v2/cloud-scale/mail/get-component-instance" %}}component instance{{%/link%}} created earlier. {{%code class="language-javascript line-numbers" scroll="set-scroll" %}}let fs = require('fs');//Define the file stream for file attachments //Create a config object with the email configuration let 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 cannot wait to get started! Cheers! Team Zylker", attachments: [fs.createReadStream('kycform.pdf')] //create a file stream for the file attachment };{{% /code%}} ### Send the Email You must now pass the JSON object to the {{%badge%}}sendMail(){{%/badge%}} method as an argument as shown in the code below. This will initiate the email to be sent. The promise returned here will be resolved to an object as a JSON. {{%code class="language-javascript" scroll="set-scroll" %}}let mailPromise = await email.sendMail(config); console.log(mailPromise);{{% /code%}} A sample response that you will receive for different versions of Node.js is shown below: {{% panel_with_select header="Node JS" %}} {{% divtag id="V2" class="language-javascript line-numbers"%}} { 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 cannot wait to get started!Cheers!Team Zylker" } {{% /divtag %}} {{% divtag id="V1" class="language-javascript line-numbers"%}} { 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 cannot wait to get started!Cheers!Team Zylker" } {{% /divtag %}} {{% /panel_with_select %}} --- ## SDK — Python — Mail -------------------------------------------------------------------------------- title: "Get Mail Instance" description: "This page describes the method to send out emails to end-users from your Python application with sample code snippets." last_updated: "2026-03-18T07:41:08.548Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/mail/get-component-instance/" service: "Cloud Scale" related: - Mail Help (/en/cloud-scale/help/mail/introduction) -------------------------------------------------------------------------------- # Catalyst Mail {{%link href="/en/cloud-scale/help/mail/introduction" %}}Catalyst Mail{{%/link%}} enables you to add the email addresses of your business that will be used to send emails to the end-users from your Catalyst application. You can configure email addresses of public domains or of your organization's own domains. You can also use an external email client of your choice and configure its SMTP settings with Catalyst, instead of using the built-in Catalyst email client. This section covers the various SDK methods that can be used to implement the Catalyst Mail functionality in your application. ### Get a Component Instance A component instance is an object that can be used to access the pre-defined configurations specific to a particular component. This process will not fire a server-side call. The {{%badge%}}app{{%/badge%}} reference used in the code below is the {{%link href="/en/sdk/python/v1/setup/#initializing-the-sdk" %}}Python object{{%/link%}} returned as a response during SDK initialization. You can create a new {{%badge%}}mail_service{{%/badge%}}instance as shown below. Also note that this component instance will be used in multiple scenarios while implementing the Catalyst Mail service in your application. {{%code class="language-python" scroll="set-scroll" %}}#Get a mail component instance mail_service = app.email() {{% /code%}} -------------------------------------------------------------------------------- title: "Send Email" description: "This page describes the method to send out emails to end-users from your Python application with sample code snippets." last_updated: "2026-03-18T07:41:08.548Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/mail/send-email/" service: "Cloud Scale" related: - Send Email - API (/en/api/code-reference/cloud-scale/mail/send-email/#SendEmail) - Mail Help (/en/cloud-scale/help/mail/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Send Mail You must configure the domains, email addresses, and the SMTP settings for an email client of your choice from the console. The code shown here enables you to send emails to the email addresses you specify from your Catalyst application. 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 in your email. The {{%bold%}}maximum supported limits{{%/bold%}} for email recipients and file attachments in a single send mail operation are specified below: * {{%bold%}}To address:{{%/bold%}} 10 * {{%bold%}}CC:{{%/bold%}} 10 * {{%bold%}}BCC:{{%/bold%}} 5 * {{%bold%}}Reply to:{{%/bold%}} 5 * {{%bold%}}Number of file attachments:{{%/bold%}} 5 * {{%bold%}}Size of file attachments:{{%/bold%}} 15 MB (through a single file or multiple files upto 5 files) {{%note%}}{{%bold%}}Note:{{%/bold%}} The subject, sender, and atleast one recipient email addresses are mandatory. Other attributes of the email are optional.{{%/note%}} #### Create a Dictionary You must initially create a dictionary containing the required attributes of the email. This includes the sender's email address and all the recipients of the email. You should first {{%link href="/en/cloud-scale/help/mail/email-configuration/" %}}configure{{%/link%}} and verify the sender's email address in the Catalyst console. 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. {{%code class="language-python line-numbers" scroll="set-scroll" %}}#Create a dictionary mail_obj = { 'from_email': 'emma@zylker.com', 'to_email': ["vanessa.hyde@zoho.com"], 'cc': ["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!', 'attachments': [file1], 'content': "<p>Hello,</p> 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.</p>We cannot wait to get started!<p><p>Cheers!</p><p>Team Zylker</p>" } {{% /code%}} ### Send Email You must now pass the configured dictionary to the {{%badge%}}send_mail(){{%/badge%}} method as an argument as shown in the code below. This will initiate the email sending process. To know more about the component instance {{%badge%}}mail_service{{%/badge%}} used below, please refer to {{%link href="/en/sdk/python/v1/cloud-scale/mail/get-component-instance/" %}}this help section{{%/link%}}. **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">Data Type</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>{{%badge%}}mail_obj{{%/badge%}}</td> <td>Object</td> <td>A {{%bold%}}Mandatory{{%/bold%}} parameter. Will store details of the sender's email address, recipient's email address, CC, BCC, reply-to address, subject, attachments, and email content.</td> </tr> </tbody> </table> {{%code class="language-python" scroll="set-scroll" %}}#Send Email mail_service = app.email() response = mail_service.send_mail(mail_obj) {{% /code%}} A sample response is given below : {{%code class="language-json line-numbers" scroll="set-scroll" %}}{ isAsync: false, project_details: { project_name: "Onboarding", id: "2136000000007733" }, from_email: ["emma@zylker.com"], to_email: ["vanessa.hyde@zoho.com"], cc:["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: "<p>Hello,</p> 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.</p>We cannot wait to get started!<p><p>Cheers!</p><p>Team Zylker</p>" } {{% /code%}} {{%note%}}{{%bold%}}Info :{{%/bold%}} Refer to the {{%link href="/en/sdk/python/v1/sdk-scopes" %}}SDK Scopes table{{%/link%}} to determine the required permission level for performing the above operation.{{%/note%}}