@explita/cloud-mail-client
v0.1.0
Published
A simple mail client for Node applications.
Readme
Part of the Explita Cloud Platform
A lightweight mail client for Node.js — built as a core component of the Explita Cloud platform. It simplifies mail in your backend by providing easy-to-use utilities for sending emails.
🚀 Installation
npm install @explita/cloud-mail-clientor
yarn add @explita/cloud-mail-clientor
pnpm add @explita/cloud-mail-clientUsage
Send Single Mail
import { sendMail } from "@explita/cloud-mail-client";
const res = await sendMail({
from: "John Doe <[email protected]>",
to: "[email protected]", // can be an array of emails
subject: "Hello",
text: "Hello, this is a test email",
html: "<h1>Hello, this is a test email</h1>",
//optionals
replyTo: "[email protected]", // can be an array of emails
cc: "[email protected]", // can be an array of emails
bcc: "[email protected]", // can be an array of emails
attachments: [
{
filename: "test.txt",
content: "Hello, this is a test email", //Buffer | string;
contentType: "text/plain", // optional
},
],
headers: {
"X-Custom-Header": "Custom Value",
},
});
console.log(res);
// response could be:
// {
// success: true,
// status: "ACCEPTED",
// messageId: "1234567890",
// createdAt: "2022-01-01T00:00:00.000Z",
// }
// or
// {
// success: false,
// error: {
// code: "InvalidData",
// message: "Invalid data provided",
// errors: {
// from: "from is required",
// to: "to is required",
// subject: "subject is required",
// },
// },
// }Send Batch Mail
import { sendBatch } from "@explita/cloud-mail-client";
const res = await sendBatch([
{
from: "John Doe <[email protected]>",
to: "[email protected]", // can be an array of emails
subject: "Hello",
text: "Hello, this is a test email",
html: "<h1>Hello, this is a test email</h1>",
//optionals
replyTo: "[email protected]", // can be an array of emails
cc: "[email protected]", // can be an array of emails
bcc: "[email protected]", // can be an array of emails
attachments: [
{
filename: "test.txt",
content: "Hello, this is a test email", //Buffer | string;
contentType: "text/plain", // optional
},
],
headers: {
"X-Custom-Header": "Custom Value",
},
},
{
from: "John Doe <[email protected]>",
to: "[email protected]", // can be an array of emails
subject: "Hello",
text: "Hello, this is a test email",
html: "<h1>Hello, this is a test email</h1>",
//optionals
replyTo: "[email protected]", // can be an array of emails
cc: "[email protected]", // can be an array of emails
bcc: "[email protected]", // can be an array of emails
attachments: [
{
filename: "test.txt",
content: "Hello, this is a test email", //Buffer | string;
contentType: "text/plain", // optional
},
],
headers: {
"X-Custom-Header": "Custom Value",
},
},
]);
console.log(res);
// response could be:
// {
// "success": false,
// "error": {
// "code": "InvalidSenderDomain",
// "message": "One or more sender domains are invalid.",
// "details": [
// {
// "index": 0,
// "reason": "Sender domain (example.com) not found"
// }
// ]
// }
// }
// [{
// success: true,
// status: "ACCEPTED",
// messageId: "1234567890",
// createdAt: "2022-01-01T00:00:00.000Z",
// }]
// or
// {
// success: false,
// error: {
// code: "InvalidData",
// message: "Invalid data provided",
// errors: {
// from: "from is required",
// to: "to is required",
// subject: "subject is required",
// },
// },
// }Getting started
Sign up for an account at Explita Cloud, create a project, add mail service and get your API key from the dashboard and add it to your environment variables.
📄 License
MIT — Made with ❤️ by Explita
