Send transactional email through Zoho CPaaS SMTP
Use the email Agent's SMTP settings with TLS and the documented credential type rather than a personal Zoho mailbox login.
Reviewed
Use a maintained SMTP library, such as Nodemailer for Node.js, with the current settings displayed in the email Agent’s SMTP/API section. The official SMTP guide documents TLS on 587 and implicit TLS on 465; use the hostname and credentials for your actual account.
Connect securely
The following is a transport configuration excerpt, not a complete send program. Supply the real Agent settings from secure runtime configuration:
const smtpOptions = {
host: process.env.ZEPTO_SMTP_HOST,
port: 587,
secure: false,
requireTLS: true,
auth: {
user: "emailapikey",
pass: process.env.ZEPTO_SMTP_PASSWORD,
},
};
secure: false here selects STARTTLS, not permission to send credentials unencrypted. Keep certificate validation enabled. If using port 465 instead, use the matching implicit-TLS configuration; do not mix the two modes.
Send and verify deliberately
Select an authenticated sender, one controlled recipient, and fixed test content. Submit once, then inspect the Agent’s logs and recipient inbox. Authentication/connectivity checks do not prove sender permission or final delivery.
Respect the transactional-only channel policy, account limits, and content/attachment limits shown in current documentation. Do not route campaign traffic through this connection because SMTP technically accepts a message.
For timeouts, reconcile the log before a resend. A MailKite fallback is a distinct delivery decision and can duplicate a message already accepted by Zoho.