Showing preview only (377K chars total). Download the full file or copy to clipboard to get everything.
Repository: mailersend/mailersend-nodejs
Branch: main
Commit: 0772cef40398
Files: 280
Total size: 315.5 KB
Directory structure:
gitextract_ii8zs4um/
├── .editorconfig
├── .github/
│ ├── CODEOWNERS
│ └── workflows/
│ ├── publish.yaml
│ └── test.yaml
├── .gitignore
├── LICENSE
├── README.md
├── examples/
│ ├── v1/
│ │ ├── activity/
│ │ │ ├── byCountry.js
│ │ │ ├── byDate.js
│ │ │ ├── byReadingEnvironment.js
│ │ │ ├── byUserAgent.js
│ │ │ └── list.js
│ │ ├── domains/
│ │ │ ├── add.js
│ │ │ ├── delete.js
│ │ │ ├── dns.js
│ │ │ ├── list.js
│ │ │ ├── recipients.js
│ │ │ ├── settings.js
│ │ │ ├── single.js
│ │ │ └── verify.js
│ │ ├── email/
│ │ │ ├── advancedPersonalization.js
│ │ │ ├── ccBccRecipients.js
│ │ │ ├── getBulkEmailRequestStatus.js
│ │ │ ├── sendAnEmail.js
│ │ │ ├── sendBulkEmail.js
│ │ │ ├── sendScheduleEmail.js
│ │ │ ├── simplePersonalization.js
│ │ │ ├── templatedEmail.js
│ │ │ └── withAttachment.js
│ │ ├── email-verification/
│ │ │ ├── create.js
│ │ │ ├── list.js
│ │ │ ├── results.js
│ │ │ ├── single.js
│ │ │ └── verify.js
│ │ ├── inbounds/
│ │ │ ├── create.js
│ │ │ ├── delete.js
│ │ │ ├── list.js
│ │ │ ├── single.js
│ │ │ └── update.js
│ │ ├── messages/
│ │ │ ├── list.js
│ │ │ └── single.js
│ │ ├── recipients/
│ │ │ ├── addRecipientsToBlocklist.js
│ │ │ ├── addRecipientsToHardBounceList.js
│ │ │ ├── addRecipientsToSpamComplaintList.js
│ │ │ ├── addRecipientsToUnsubscribeList.js
│ │ │ ├── delete.js
│ │ │ ├── deleteRecipientsFromBlocklist.js
│ │ │ ├── deleteRecipientsFromHardBounceList.js
│ │ │ ├── deleteRecipientsFromSpamComplaintList.js
│ │ │ ├── deleteRecipientsFromUnsubscribeList.js
│ │ │ ├── getRecipientsFromBlocklist.js
│ │ │ ├── getRecipientsFromHardBounceList.js
│ │ │ ├── getRecipientsFromSpamComplaintList.js
│ │ │ ├── getRecipientsFromUnsubscribeList.js
│ │ │ ├── list.js
│ │ │ └── single.js
│ │ ├── scheduled/
│ │ │ ├── delete.js
│ │ │ ├── list.js
│ │ │ └── single.js
│ │ ├── sms/
│ │ │ ├── activities/
│ │ │ │ ├── list.js
│ │ │ │ └── single.js
│ │ │ ├── inbounds/
│ │ │ │ ├── create.js
│ │ │ │ ├── delete.js
│ │ │ │ ├── list.js
│ │ │ │ ├── single.js
│ │ │ │ └── update.js
│ │ │ ├── messages/
│ │ │ │ ├── list.js
│ │ │ │ └── single.js
│ │ │ ├── numbers/
│ │ │ │ ├── delete.js
│ │ │ │ ├── list.js
│ │ │ │ ├── single.js
│ │ │ │ └── update.js
│ │ │ ├── recipients/
│ │ │ │ ├── list.js
│ │ │ │ ├── single.js
│ │ │ │ └── update.js
│ │ │ ├── sendAnSms.js
│ │ │ ├── smsPersonalization.js
│ │ │ └── webhooks/
│ │ │ ├── create.js
│ │ │ ├── delete.js
│ │ │ ├── list.js
│ │ │ ├── single.js
│ │ │ └── update.js
│ │ ├── templates/
│ │ │ ├── delete.js
│ │ │ ├── list.js
│ │ │ └── single.js
│ │ ├── tokens/
│ │ │ ├── createToken.js
│ │ │ ├── deleteToken.js
│ │ │ └── updateToken.js
│ │ └── webhooks/
│ │ ├── create.js
│ │ ├── delete.js
│ │ ├── list.js
│ │ ├── single.js
│ │ └── update.js
│ └── v2/
│ ├── email/
│ │ ├── activity/
│ │ │ └── list.js
│ │ ├── advancedPersonalization.js
│ │ ├── analytics/
│ │ │ ├── byCountry.js
│ │ │ ├── byDate.js
│ │ │ ├── byReadingEnvironment.js
│ │ │ └── byUserAgent.js
│ │ ├── ccBccRecipients.js
│ │ ├── domains/
│ │ │ ├── add.js
│ │ │ ├── delete.js
│ │ │ ├── dns.js
│ │ │ ├── list.js
│ │ │ ├── recipients.js
│ │ │ ├── settings.js
│ │ │ ├── single.js
│ │ │ └── verify.js
│ │ ├── getBulkEmailRequestStatus.js
│ │ ├── identities/
│ │ │ ├── create.js
│ │ │ ├── delete.js
│ │ │ ├── deleteByEmail.js
│ │ │ ├── list.js
│ │ │ ├── single.js
│ │ │ ├── singleByEmail.js
│ │ │ ├── update.js
│ │ │ └── updateByEmail.js
│ │ ├── inbounds/
│ │ │ ├── create.js
│ │ │ ├── delete.js
│ │ │ ├── list.js
│ │ │ ├── single.js
│ │ │ └── update.js
│ │ ├── messages/
│ │ │ ├── list.js
│ │ │ └── single.js
│ │ ├── recipients/
│ │ │ ├── addRecipientsToBlocklist.js
│ │ │ ├── addRecipientsToHardBounceList.js
│ │ │ ├── addRecipientsToSpamComplaintList.js
│ │ │ ├── addRecipientsToUnsubscribeList.js
│ │ │ ├── delete.js
│ │ │ ├── deleteAllBlocklistRecipients.js
│ │ │ ├── deleteRecipientsFromBlocklist.js
│ │ │ ├── deleteRecipientsFromHardBounceList.js
│ │ │ ├── deleteRecipientsFromSpamComplaintList.js
│ │ │ ├── deleteRecipientsFromUnsubscribeList.js
│ │ │ ├── getRecipientsFromBlocklist.js
│ │ │ ├── getRecipientsFromHardBounceList.js
│ │ │ ├── getRecipientsFromSpamComplaintList.js
│ │ │ ├── getRecipientsFromUnsubscribeList.js
│ │ │ ├── list.js
│ │ │ └── single.js
│ │ ├── scheduled/
│ │ │ ├── delete.js
│ │ │ ├── list.js
│ │ │ └── single.js
│ │ ├── sendAnEmail.js
│ │ ├── sendBulkEmail.js
│ │ ├── sendScheduleEmail.js
│ │ ├── simplePersonalization.js
│ │ ├── templatedEmail.js
│ │ ├── templates/
│ │ │ ├── delete.js
│ │ │ ├── list.js
│ │ │ └── single.js
│ │ ├── webhooks/
│ │ │ ├── create.js
│ │ │ ├── delete.js
│ │ │ ├── list.js
│ │ │ ├── single.js
│ │ │ └── update.js
│ │ └── withAttachment.js
│ ├── email-verification/
│ │ ├── create.js
│ │ ├── list.js
│ │ ├── results.js
│ │ ├── single.js
│ │ ├── verifyEmail.js
│ │ └── verifyList.js
│ ├── others/
│ │ └── getApiQuota.js
│ ├── sms/
│ │ ├── activities/
│ │ │ ├── list.js
│ │ │ └── single.js
│ │ ├── inbounds/
│ │ │ ├── create.js
│ │ │ ├── delete.js
│ │ │ ├── list.js
│ │ │ ├── single.js
│ │ │ └── update.js
│ │ ├── messages/
│ │ │ ├── list.js
│ │ │ └── single.js
│ │ ├── numbers/
│ │ │ ├── delete.js
│ │ │ ├── list.js
│ │ │ ├── single.js
│ │ │ └── update.js
│ │ ├── recipients/
│ │ │ ├── list.js
│ │ │ ├── single.js
│ │ │ └── update.js
│ │ ├── sendAnSms.js
│ │ ├── smsPersonalization.js
│ │ └── webhooks/
│ │ ├── create.js
│ │ ├── delete.js
│ │ ├── list.js
│ │ ├── single.js
│ │ └── update.js
│ └── tokens/
│ ├── createToken.js
│ ├── deleteToken.js
│ └── updateToken.js
├── jestconfig.json
├── package.json
├── renovate.json
├── src/
│ ├── __tests__/
│ │ ├── modules/
│ │ │ ├── Activity.test.ts
│ │ │ ├── Analytics.test.ts
│ │ │ ├── BlocklistMonitor.test.ts
│ │ │ ├── Dmarc.test.ts
│ │ │ ├── Domain.test.ts
│ │ │ ├── Email.test.ts
│ │ │ ├── EmailVerification.test.ts
│ │ │ ├── Identity.test.ts
│ │ │ ├── Inbound.test.ts
│ │ │ ├── MailerSend.test.ts
│ │ │ ├── Message.test.ts
│ │ │ ├── Others.test.ts
│ │ │ ├── Recipient.test.ts
│ │ │ ├── SMS.test.ts
│ │ │ ├── Schedule.test.ts
│ │ │ ├── SmsActivity.test.ts
│ │ │ ├── SmsInbound.test.ts
│ │ │ ├── SmsMessage.test.ts
│ │ │ ├── SmsNumber.test.ts
│ │ │ ├── SmsRecipient.test.ts
│ │ │ ├── SmsWebhook.test.ts
│ │ │ ├── SmtpUser.test.ts
│ │ │ ├── Template.test.ts
│ │ │ ├── Token.test.ts
│ │ │ ├── User.test.ts
│ │ │ └── Webhook.test.ts
│ │ └── services/
│ │ ├── mailersend.utils.test.ts
│ │ └── request.test.ts
│ ├── index.ts
│ ├── models/
│ │ ├── BlocklistMonitor.ts
│ │ ├── EmailVerification.ts
│ │ ├── Pagination.ts
│ │ ├── Token.ts
│ │ ├── User.ts
│ │ ├── email/
│ │ │ ├── Activity.ts
│ │ │ ├── Analytics.ts
│ │ │ ├── Attachment.ts
│ │ │ ├── Dmarc.ts
│ │ │ ├── Domain.ts
│ │ │ ├── EmailParams.ts
│ │ │ ├── EmailWebhook.ts
│ │ │ ├── Identity.ts
│ │ │ ├── Inbound.ts
│ │ │ ├── Message.ts
│ │ │ ├── Recipient.ts
│ │ │ ├── Schedule.ts
│ │ │ ├── Sender.ts
│ │ │ ├── SmtpUser.ts
│ │ │ └── Template.ts
│ │ ├── index.ts
│ │ └── sms/
│ │ ├── Activity.ts
│ │ ├── Inbound.ts
│ │ ├── Message.ts
│ │ ├── Number.ts
│ │ ├── Recipient.ts
│ │ ├── SMSParams.ts
│ │ ├── SMSPersonalization.ts
│ │ └── Webhook.ts
│ ├── modules/
│ │ ├── BlocklistMonitor.module.ts
│ │ ├── Dmarc.module.ts
│ │ ├── Email.module.ts
│ │ ├── EmailVerification.module.ts
│ │ ├── MailerSend.module.ts
│ │ ├── Others.module.ts
│ │ ├── SMS.module.ts
│ │ ├── Token.module.ts
│ │ ├── User.module.ts
│ │ ├── email/
│ │ │ ├── Activity.module.ts
│ │ │ ├── Analytics.module.ts
│ │ │ ├── Domain.module.ts
│ │ │ ├── Identity.module.ts
│ │ │ ├── Inbound.module.ts
│ │ │ ├── Message.module.ts
│ │ │ ├── Recipient.module.ts
│ │ │ ├── Schedule.module.ts
│ │ │ ├── SmtpUser.module.ts
│ │ │ ├── Template.module.ts
│ │ │ └── Webhook.module.ts
│ │ └── sms/
│ │ ├── Activity.module.ts
│ │ ├── Inbound.module.ts
│ │ ├── Message.module.ts
│ │ ├── Number.module.ts
│ │ ├── Recipient.module.ts
│ │ └── Webhook.module.ts
│ └── services/
│ ├── mailersend.utils.ts
│ └── request.service.ts
└── tsconfig.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
================================================
FILE: .github/CODEOWNERS
================================================
* @mailersend/nodejs-sdk-maintainers
================================================
FILE: .github/workflows/publish.yaml
================================================
name: NPM Publish
on:
release:
types: [created]
jobs:
build:
runs-on: ubuntu-24.04
permissions:
id-token: write
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
registry-url: "https://registry.npmjs.org"
- run: npm install
- run: npm publish
================================================
FILE: .github/workflows/test.yaml
================================================
name: Tests
on:
push:
branches: [main]
pull_request:
jobs:
test:
runs-on: ubuntu-24.04
strategy:
matrix:
node-version: [20, 22, 24]
name: Node ${{ matrix.node-version }} Tests
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Cache node_modules
id: node-cache
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node${{ matrix.node-version }}-${{ hashFiles('package-lock.json') }}
restore-keys: ${{ runner.os }}-node${{ matrix.node-version }}-
- name: Install dependencies
if: steps.node-cache.outputs.cache-hit != 'true'
run: npm install
- name: Run test suite
run: npm test
================================================
FILE: .gitignore
================================================
node_modules
.env
.DS_Store
.idea
/lib
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2020 MailerSend
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
<a href="https://www.mailersend.com"><img src="https://www.mailersend.com/images/logo.svg" width="200px"/></a>
MailerSend Node.js SDK
[](./LICENSE.md)


<br/>
## Welcome to MailerSend 👋
_Send emails and SMS in minutes_
Developers come for the high deliverability, and stay because our intuitive API and built-in integrations make life easier. 🤝
For more info, you can:
- Visit our [Developers site 💻](https://developers.mailersend.com/) for REST API reference
- Read our [Knowledge base ❓](https://www.mailersend.com/help) for guides on how to use MailerSend
- Contact our [Support team 📨](https://www.mailersend.com/contact-us) if you require more assistance
#### V1 Documentation can be found [here](https://github.com/mailersend/mailersend-nodejs/tree/v1#readme)
<br/>
# Table of Contents
- [Installation](#installation)
- [Setup](#setup)
- [Usage](#usage)
- [Email](#email)
- [Send an email](#send-an-email)
- [Add CC, BCC recipients](#add-cc-bcc-recipients)
- [Send a template-based email](#send-a-template-based-email)
- [Personalization](#advanced-personalization)
- [Send email with attachment](#send-email-with-attachment)
- [Send email with inline attachment](#send-email-with-inline-attachment)
- [Send email with references (threading)](#send-email-with-references-threading)
- [Send email with list-unsubscribe](#send-email-with-list-unsubscribe)
- [Send a scheduled email](#send-a-scheduled-email)
- [Send email with precedence bulk header](#send-email-with-precedence-bulk-header)
- [Send an email with tracking](#send-an-email-with-tracking)
- [Send email with custom headers](#send-email-with-custom-headers)
- [Send an email with RCPT TO recipients](#send-an-email-with-rcpt-to-recipients)
- [Bulk email API](#bulk-email-api)
- [Send bulk emails](#send-bulk-emails)
- [Get bulk request status](#get-bulk-request-status)
- [Inbound Routing](#inbound)
- [Get inbound list](#get-inbound-list)
- [Get inbound](#get-inbound)
- [Create inbound](#create-inbound)
- [Update inbound](#update-inbound)
- [Delete inbound](#delete-inbound)
- [Activity](#activity)
- [Get activity list](#get-activity-list)
- [Get single activity](#get-single-activity)
- [Analytics](#analytics)
- [Get activity data by date](#get-activity-data-by-date)
- [Opens by country](#opens-by-country)
- [Opens by user-agent](#opens-by-user-agent)
- [Opens by reading environment](#opens-by-reading-environment)
- [Domains](#domains)
- [Get a list of domains](#get-a-list-of-domains)
- [Get domain](#get-domain)
- [Add a domain](#add-a-domain)
- [Delete domain](#delete-domain)
- [Get a list of recipients per domain](#get-a-list-of-recipients-per-domain)
- [Update domain settings](#update-domain-settings)
- [Verify a domain](#verify-a-domain)
- [Get DNS records](#get-dns-records)
- [Messages](#messages)
- [Get a list of messages](#get-a-list-of-messages)
- [Get info on a message](#get-info-on-a-message)
- [Scheduled Messages](#scheduled-messages)
- [Get scheduled email list](#get-scheduled-email-list)
- [Get scheduled email](#get-scheduled-email)
- [Delete scheduled email](#delete-scheduled-email)
- [Tokens](#tokens)
- [List tokens](#list-tokens)
- [Get token](#get-token)
- [Create a token](#create-a-token)
- [Update token name](#update-token-name)
- [Update token status](#update-token-status)
- [Delete token](#delete-token)
- [Recipients](#recipients)
- [Get a list of recipients](#get-a-list-of-recipients)
- [Get single recipient](#get-single-recipient)
- [Delete recipient](#delete-recipient)
- [Add recipients to a suppression list](#add-recipients-to-a-suppression-list)
- [Delete recipients from a suppression list](#delete-recipients-from-a-suppression-list)
- [Get recipients from a suppression list](#get-recipients-from-a-suppression-list)
- [Delete all recipients from a suppression list](#delete-all-recipients-from-a-suppression-list)
- [Get recipients from the on-hold list](#get-recipients-from-the-on-hold-list)
- [Delete recipients from the on-hold list](#delete-recipients-from-the-on-hold-list)
- [Webhooks](#webhooks)
- [Get a list of webhooks](#get-a-list-of-webhooks)
- [Get webhook](#get-webhook)
- [Create webhook](#create-webhook)
- [Update webhook](#update-webhook)
- [Delete webhook](#delete-webhook)
- [Templates](#templates)
- [Get a list of templates](#get-a-list-of-templates)
- [Get a single template](#get-a-single-template)
- [Create a template](#create-a-template)
- [Update a template](#update-a-template)
- [Delete a template](#delete-a-template)
- [Email Verification](#email-verification)
- [Get all email verification lists](#get-all-email-verification-lists)
- [Get an email verification list](#get-an-email-verification-list)
- [Create an email verification list](#create-an-email-verification-list)
- [Verify an email list](#verify-an-email-list)
- [Get email verification list results](#get-email-verification-list-results)
- [Verify a single email](#verify-a-single-email)
- [Verify a single email asynchronously](#verify-a-single-email-asynchronously)
- [Get async email verification status](#get-async-email-verification-status)
- [SMS](#sms)
- [Send SMS](#send-sms)
- [SMS personalization](#sms-personalization)
- [Phone Numbers](#phone-numbers)
- [Get phone number list](#get-phone-number-list)
- [Get phone number](#get-phone-number)
- [Update phone number](#update-phone-number)
- [Delete phone number](#delete-phone-number)
- [SMS Messages](#messages-1)
- [Get messages list](#get-messages-list)
- [Get a message](#get-a-message)
- [SMS Activity](#activity-1)
- [Get activity list](#get-activity-list-1)
- [SMS Recipients](#recipients-1)
- [Get recipient list](#get-recipient-list)
- [Get recipient](#get-recipient)
- [Update recipient](#update-recipient)
- [SMS Webhooks](#webhooks-1)
- [Get webhook list for a number](#get-webhook-list-for-a-number)
- [Get webhook](#get-webhook-1)
- [Create webhook](#create-webhook-1)
- [Update webhook](#update-webhook-1)
- [Delete webhook](#delete-webhook-1)
- [SMS Inbound](#inbound-1)
- [Get inbound list](#get-inbound-list-1)
- [Get inbound](#get-inbound-1)
- [Add inbound](#add-inbound)
- [Update inbound](#update-inbound-1)
- [Delete inbound](#delete-inbound-1)
- [Identity](#identity)
- [Get identity list](#get-identity-list)
- [Get identity](#get-identity)
- [Get identity by email](#get-identity-by-email-address)
- [Create identity](#create-identity)
- [Update identity](#update-identity)
- [Update identity by email](#update-identity-by-email-address)
- [Delete identity](#delete-identity)
- [Delete identity by email](#delete-identity-by-email-address)
- [Resend identity verification](#resend-identity-verification)
- [SMTP Users](#smtp-users)
- [List SMTP users](#list-smtp-users)
- [Get SMTP user](#get-smtp-user)
- [Create SMTP user](#create-smtp-user)
- [Update SMTP user](#update-smtp-user)
- [Delete SMTP user](#delete-smtp-user)
- [Users](#users)
- [Get user list](#get-user-list)
- [Get single user](#get-single-user)
- [Invite a user](#invite-a-user)
- [Update user](#update-user)
- [Delete user](#delete-user)
- [Get invite list](#get-invite-list)
- [Get single invite](#get-single-invite)
- [Resend invite](#resend-invite)
- [Cancel invite](#cancel-invite)
- [DMARC Monitoring](#dmarc-monitoring)
- [List monitors](#list-monitors)
- [Create monitor](#create-monitor)
- [Update monitor](#update-monitor)
- [Delete monitor](#delete-monitor)
- [Get aggregated reports](#get-aggregated-reports)
- [Get IP-specific reports](#get-ip-specific-reports)
- [Get report sources](#get-report-sources)
- [Mark IP as favorite](#mark-ip-as-favorite)
- [Remove IP from favorites](#remove-ip-from-favorites)
- [Blocklist Monitoring](#blocklist-monitoring)
- [List blocklist monitors](#list-blocklist-monitors)
- [Get single blocklist monitor](#get-single-blocklist-monitor)
- [Create blocklist monitor](#create-blocklist-monitor)
- [Update blocklist monitor](#update-blocklist-monitor)
- [Delete blocklist monitor](#delete-blocklist-monitor)
- [Other endpoints](#other-endpoints)
- [Get API quota](#get-api-quota)
- [Utils](#utils)
- [Verify a webhook signature](#verify-a-webhook-signature)
- [Support and Feedback](#support-and-feedback)
- [License](#license)
## Installation
### Setup
```bash
npm install mailersend
```
if you would like to use the env approach as shown in the examples, please run
```bash
npm install dotenv --save
```
## Usage
## Email
### Send an email
```js
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content");
await mailerSend.email.send(emailParams);
```
### Add CC, BCC recipients
```js
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("bbbb@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const cc = [
new Recipient("your_cc@client.com", "Your Client CC")
];
const bcc = [
new Recipient("your_bcc@client.com", "Your Client BCC")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setCc(cc)
.setBcc(bcc)
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content");
await mailerSend.email.send(emailParams);
```
### Send a template-based email
```js
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setSubject("This is a Subject")
.setTemplateId('templateId');
await mailerSend.email.send(emailParams);
```
### Personalization
```js
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const personalization = [
{
email: "your@client.com",
data: {
test: 'Test Value'
},
}
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setPersonalization(personalization)
.setSubject("Subject, {{ test }}")
.setHtml("This is the HTML content, {{ test }}")
.setText("This is the text content, {{ test }}");
await mailerSend.email.send(emailParams);
```
### Send email with attachment
```js
import 'dotenv/config';
import fs from "fs";
import { MailerSend, EmailParams, Sender, Recipient, Attachment } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const attachments = [
new Attachment(
fs.readFileSync('/path/to/file.pdf', { encoding: 'base64' }),
'file.pdf',
'attachment'
)
]
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setAttachments(attachments)
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content");
await mailerSend.email.send(emailParams);
```
### Send email with inline attachment
```js
import 'dotenv/config';
import fs from "fs";
import { MailerSend, EmailParams, Sender, Recipient, Attachment } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const attachments = [
new Attachment(
fs.readFileSync('/path/to/file.png', { encoding: 'base64' }),
'file.png',
'inline',
'0123456789'
)
]
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setAttachments(attachments)
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content with an inline image attachment <img src=\"cid:0123456789\"/></strong>")
.setText("This is the text content");
await mailerSend.email.send(emailParams);
```
### Send email with references (threading)
> **Note:** The `references` field is available on paid plan accounts only.
```js
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setSubject("Re: This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content")
.setInReplyTo("<original-message-id@yourdomain.com>")
.setReferences([
"<original-message-id@yourdomain.com>",
"<another-message-id@yourdomain.com>",
]);
await mailerSend.email.send(emailParams);
```
### Send email with list-unsubscribe
```js
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content")
.setListUnsubscribe("https://www.yourdomain.com/unsubscribe");
await mailerSend.email.send(emailParams);
```
### Send a scheduled message
```js
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setSubject("This is a scheduled Subject")
.setHtml("<strong>This is a scheduled HTML content</strong>")
.setText("This is a scheduled text content")
// Accepts a Unix timestamp (integer) or an ISO 8601 date string
.setSendAt(Math.floor((new Date(Date.now() + 30 * 60 * 1000)).getTime() / 1000)); // Unix timestamp – send in 30 mins
// .setSendAt("2040-11-21T14:00:00+00:00"); // ISO 8601 alternative
await mailerSend.email.send(emailParams);
```
### Send email with precedence bulk header
```js
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content")
.setPrecedenceBulk(true);
await mailerSend.email.send(emailParams);
```
### Send an email with tracking
```js
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content")
.setSettings({
track_clicks: true,
track_opens: true,
track_content: true,
});
await mailerSend.email.send(emailParams);
```
### Send email with custom headers
> **Note:** Custom headers are available on Professional and Enterprise accounts only.
```js
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const headers = [
{ name: "X-Custom-Header", value: "custom-value" },
{ name: "X-Another-Header", value: "another-value" },
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content")
.setHeaders(headers);
await mailerSend.email.send(emailParams);
```
### Send an email with RCPT TO recipients
> `rcptTo` is intended for SMTP source delivery and accepts a list of recipients.
> When `to` is empty and `rcptTo` is provided, the addresses are forwarded as BCC.
```js
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const rcptTo = [
new Recipient("rcpt@client.com")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content")
.setRcptTo(rcptTo);
await mailerSend.email.send(emailParams);
```
## Bulk email API
### Send bulk email
```js
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("your@yourdomain.com", "Your name");
const bulkEmails = [];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo([
new Recipient("your@client.com", "Your Client")
])
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content");
bulkEmails.push(emailParams);
const emailParams2 = new EmailParams()
.setFrom(sentFrom)
.setTo([
new Recipient("your_2@client.com", "Your Client 2")
])
.setSubject("This is a Subject 2")
.setHtml("<strong>This is the HTML content 2</strong>")
.setText("This is the text content 2");
bulkEmails.push(emailParams2);
await mailerSend.email.sendBulk(bulkEmails);
```
### Get bulk request status
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.getBulkStatus('bulk_email_id') // bulk email Id e.g 63af1fdb790d97105a090001
.then((response) => {
console.log(response.body);
});
```
## Inbound routing
### Get a list of inbound routes
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.inbound.list()
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
With query parameters:
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.inbound.list({
domain_id: "domain_id",
page: 1,
limit: 25,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get a single inbound route
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.inbound.single("inbound_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Add an inbound route
```js
import 'dotenv/config';
import { MailerSend, Inbound, InboundFilterType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const inbound = new Inbound('inbound test', true, 'domain_id')
.setInboundDomain('inbound.yourdomain.com')
.setInboundPriority(50)
.setMatchFilter({
type: InboundFilterType.MATCH_ALL,
})
.setCatchFilter({
type: InboundFilterType.CATCH_RECIPIENT,
})
.setForwards([
{
type: "webhook",
value: "https://www.yourdomain.com/hook"
}
]);
mailerSend.email.inbound.create(inbound)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update an inbound route
```js
import 'dotenv/config';
import { MailerSend, InboundUpdateParams, InboundFilterType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const inbound = new InboundUpdateParams('inbound test 2', false)
.setInboundDomain('inbound.yourdomain.com')
.setInboundPriority(25)
.setMatchFilter({
type: InboundFilterType.MATCH_ALL,
})
.setCatchFilter({
type: InboundFilterType.CATCH_ALL,
})
.setForwards([
{
type: "webhook",
value: "https://www.yourdomain.com/hook"
}
]);
mailerSend.email.inbound.update('inbound_id', inbound)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete an inbound route
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.inbound.delete("inbound_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Activity
### Get activity list
```js
import 'dotenv/config';
import { MailerSend, ActivityEventType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const queryParams = {
limit: 10, // Min: 10, Max: 100, Default: 25
page: 2,
date_from: 1443651141, // Unix timestamp
date_to: 1443651141, // Unix timestamp
event: [ActivityEventType.SENT, ActivityEventType.SOFT_BOUNCED]
}
mailerSend.email.activity.domain("domain_id", queryParams)
.then((response) => console.log(response.body))
.catch((error) => console.log(error));
```
### Get single activity
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.activity.single("activity_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Analytics
### Get activity data by date
```js
import 'dotenv/config';
import { ActivityEventType, AnalyticsDateQueryParams, AnalyticsGroupByType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const queryParams: AnalyticsDateQueryParams = {
date_from: 1443651141,
date_to: 2443651141,
event: [ActivityEventType.CLICKED, ActivityEventType.OPENED],
// group_by: AnalyticsGroupByType.DAYS, // optional: days, weeks, months, years
};
mailerSend.email.analytics.byDate(queryParams).then(response => {
console.log(response.body);
}).catch(error => {
console.log(error.body);
});
```
### Opens by country
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.analytics.byCountry({
date_from: 1443651141,
date_to: 2443651141,
}).then(response => {
console.log(response.body);
}).catch(error => {
console.log(error.body);
});
```
### Opens by user-agent
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.analytics.byUserAgent({
date_from: 1443651141,
date_to: 2443651141,
}).then(response => {
console.log(response.body);
}).catch(error => {
console.log(error.body);
});
```
### Opens by reading environment
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.analytics.byReadingEnvironment({
date_from: 1443651141,
date_to: 2443651141,
}).then(response => {
console.log(response.body);
}).catch(error => {
console.log(error.body);
});
```
## Domains
### Get a list of domains
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.list()
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.list({ page: 1, limit: 10, verified: true })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get domain
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.single("domain_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Add a domain
```js
import 'dotenv/config';
import { MailerSend, Domain } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const domain = new Domain(
"example.com",
"rp_subdomain",
"ct_subdomain",
"ir_subdomain",
)
mailerSend.email.domain.create(domain)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete domain
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.delete("domain_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get a list of recipients per domain
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.recipients("domain_id", {
page: 1,
limit: 10
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update domain settings
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.updateSettings("domain_id", {
send_paused: true,
track_clicks: true,
track_opens: true,
track_unsubscribe: true,
track_unsubscribe_html: "<strong> Unsubscribe now </strong>",
track_unsubscribe_plain: "Unsubscribe now",
track_unsubscribe_html_enabled: true,
track_unsubscribe_plain_enabled: true,
track_content: true,
custom_tracking_enabled: true,
custom_tracking_subdomain: "subdomain",
precedence_bulk: true,
ignore_duplicated_recipients: true,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Verify a domain
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.verify("domain_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get DNS records
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.dns("domain_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Messages
### Get a list of messages
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.message.list()
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get info on a message
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.message.single("message_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Scheduled Messages
### Get scheduled email list
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.schedule.list({
domain_id: "domain_id",
status: "scheduled", // "scheduled" | "sent" | "error"
limit: 10,
page: 1,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get scheduled email
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.schedule.single("message_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete scheduled email
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.schedule.delete("message_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Tokens
### List tokens
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.token.list({ page: 1, limit: 25 })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get token
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.token.single("token_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Create a token
```js
import 'dotenv/config';
import { MailerSend, Token, TokenScopeType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const token = new Token("Token name", [
TokenScopeType.EMAIL_FULL,
TokenScopeType.DOMAINS_READ,
TokenScopeType.DOMAINS_FULL,
TokenScopeType.ACTIVITY_READ,
TokenScopeType.ACTIVITY_FULL,
TokenScopeType.ANALYTICS_READ,
TokenScopeType.ANALYTICS_FULL,
TokenScopeType.TOKENS_FULL,
], "domain_id");
mailerSend.token.create(token)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update token name
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.token.update("token_id", { name: "New token name" })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update token status
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.token.updateSettings("token_id", {
status: "pause",
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete token
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.token.delete("token_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Recipients
### Get a list of recipients
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.list({
domain_id: "domain_id",
limit: 10,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get single recipient
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.single("recipient_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete recipient
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delete("recipient_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Add recipients to a suppression list
#### Blocklist
```js
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockRecipients({
domain_id: 'domain_id',
recipients: [
"test@example.com"
]
}, BlockListType.BLOCK_LIST)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
#### Hard Bounces
```js
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockRecipients({
domain_id: 'domain_id',
recipients: [
"test@example.com"
]
}, BlockListType.HARD_BOUNCES_LIST)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
#### Spam Complaints
```js
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockRecipients({
domain_id: 'domain_id',
recipients: [
"test@example.com"
]
}, BlockListType.SPAM_COMPLAINTS_LIST)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
#### Unsubscribe
```js
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockRecipients({
domain_id: 'domain_id',
recipients: [
"test@example.com"
]
}, BlockListType.UNSUBSCRIBES_LIST)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete recipients from a suppression list
#### Blocklist
```js
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delBlockListRecipients(
["recipient_id", "recipient_id"],
BlockListType.BLOCK_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
#### Hard Bounce
```js
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delBlockListRecipients(
["recipient_id", "recipient_id"],
BlockListType.HARD_BOUNCES_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
#### Spam Complaint
```js
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delBlockListRecipients(
["recipient_id", "recipient_id"],
BlockListType.SPAM_COMPLAINTS_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
#### Unsubscribe
```js
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delBlockListRecipients(
["recipient_id", "recipient_id"],
BlockListType.UNSUBSCRIBES_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get recipients from a suppression list
#### Blocklist
```js
import 'dotenv/config';
import { BlockListType, MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockList(
{ domain_id: "domain_id", },
BlockListType.BLOCK_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
#### Hard Bounce
```js
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockList(
{ domain_id: "domain_id", },
BlockListType.HARD_BOUNCES_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
#### Spam Complaint
```js
import 'dotenv/config';
import { BlockListType, MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockList(
{ domain_id: "domain_id", },
BlockListType.SPAM_COMPLAINTS_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
#### Unsubscribe
```js
import 'dotenv/config';
import { BlockListType, MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockList(
{ domain_id: "domain_id", },
BlockListType.UNSUBSCRIBES_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete all recipients from a suppression list
```js
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delAllBlockListRecipients(BlockListType.BLOCK_LIST)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get recipients from the on-hold list
```js
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockList(
{ page: 1, limit: 25 },
BlockListType.ON_HOLD_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete recipients from the on-hold list
```js
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delBlockListRecipients(
["recipient_id", "recipient_id"],
BlockListType.ON_HOLD_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Webhooks
### Get a list of webhooks
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.webhook.list("domain_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.webhook.list("domain_id", { limit: 25, page: 2 })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get webhook
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.webhook.single("webhook_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Create webhook
```js
import 'dotenv/config';
import { EmailWebhook, EmailWebhookEventType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const emailWebhook = new EmailWebhook()
.setName("Webhook Name")
.setUrl("https://example.com")
.setDomainId("domain_id")
.setEnabled(true)
.setEvents([EmailWebhookEventType.SENT, EmailWebhookEventType.OPENED]);
mailerSend.email.webhook.create(emailWebhook)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
```js
import 'dotenv/config';
import { EmailWebhook, EmailWebhookEventType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const emailWebhook = new EmailWebhook()
.setName("Webhook Name")
.setUrl("https://example.com")
.setDomainId("domain_id")
.setEnabled(true)
.setVersion(2)
.setEditable(true)
.setEvents([EmailWebhookEventType.SENT, EmailWebhookEventType.OPENED]);
mailerSend.email.webhook.create(emailWebhook)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
```js
import 'dotenv/config';
import { EmailWebhook, EmailWebhookEventType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const emailWebhook = new EmailWebhook()
.setName("Webhook Name")
.setUrl("https://example.com")
.setDomainId("domain_id")
.setEnabled(false)
.setEvents([EmailWebhookEventType.SENT, EmailWebhookEventType.OPENED]);
mailerSend.email.webhook.create(emailWebhook)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update webhook
```js
import 'dotenv/config';
import { EmailWebhookEventType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.webhook.update("webhook_id", {
name: "Webhook Name 2",
url: "https://example.com/updated-hook",
enabled: false,
events: [EmailWebhookEventType.SENT, EmailWebhookEventType.OPENED],
version: 2,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete webhook
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.webhook.delete("webhook_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Templates
### Get a list of templates
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.template.list({
domain_id: "domain_id"
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.template.list({
domain_id: "domain_id",
page: 1,
limit: 25,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get a single template
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.template.single("template_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Create a template
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.template.create({
name: "My Template",
html: "<p>Hello, {{name}}!</p>",
text: "Hello, {{name}}!",
domain_id: "domain_id",
categories: ["welcome"],
tags: ["welcome"],
auto_generate: false,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update a template
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.template.update("template_id", {
name: "Updated Template Name",
html: "<p>Hello, {{name}}! Updated.</p>",
text: "Hello, {{name}}! Updated.",
auto_generate: true,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete a template
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.template.delete("template_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Email Verification
### Get all email verification lists
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.emailVerification.list({ page: 1, limit: 25 })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get an email verification list
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.emailVerification.single("email_verification_id", {
detailed: true,
page: 1,
limit: 25,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Create an email verification list
```js
import 'dotenv/config';
import { MailerSend, EmailVerification } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const emailVerification = new EmailVerification("My List", [
"test1@example.com",
"test2@example.com",
]);
// Optional: link to an existing list and trigger verification automatically
// emailVerification.setListId("existing_list_id");
// emailVerification.setVerify(true);
mailerSend.emailVerification.create(emailVerification)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Verify an email list
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.emailVerification.verifyList("email_verification_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get email verification list results
```js
import 'dotenv/config';
import { MailerSend, EmailVerificationResultType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.emailVerification.getListResult("email_verification_id", {
page: 1,
limit: 25,
results: [EmailVerificationResultType.VALID, EmailVerificationResultType.CATCH_ALL],
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Verify a single email
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.emailVerification.verifyEmail("test@example.com")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Verify a single email asynchronously
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.emailVerification.verifyEmailAsync("test@example.com")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get async email verification status
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.emailVerification.getVerifyEmailAsyncStatus("verification_job_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## SMS
### Send SMS
```js
import 'dotenv/config';
import { MailerSend, SMSParams } from "mailersend";
const mailersend = new MailerSend({
apiKey: process.env.API_KEY,
});
const recipients = [
"+18332647501"
];
const smsParams = new SMSParams()
.setFrom("+18332647501")
.setTo(recipients)
.setText("This is the text content");
await mailersend.sms.send(smsParams);
```
### SMS personalization
```js
import 'dotenv/config';
import { MailerSend, SMSParams, SMSPersonalization } from "mailersend";
const mailersend = new MailerSend({
apiKey: process.env.API_KEY,
});
const recipients = [
"+18332647501",
"+18332647502"
];
const personalization = [
new SMSPersonalization("+18332647501", {
"name": "Dummy"
}),
new SMSPersonalization("+18332647502", {
"name": "Not Dummy"
}),
];
const smsParams = new SMSParams()
.setFrom("+18332647501")
.setTo(recipients)
.setPersonalization(personalization)
.setText("Hey {{name}} welcome to our organization");
await mailersend.sms.send(smsParams);
```
## Phone Numbers
### Get phone number list
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.number.list({
paused: false,
limit: 10,
page: 1
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get phone number
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.number.single("sms_number_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update phone number
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.number.update("sms_number_id", true)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete phone number
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.number.delete("sms_number_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Messages
### Get messages list
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.message.list({
limit: 10,
page: 1
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get a message
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.message.single("sms_message_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Activity
### Get activity list
```js
import 'dotenv/config';
import { MailerSend, SmsActivityStatusType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.activity.list({
sms_number_id: "number_id",
status: [SmsActivityStatusType.SENT, SmsActivityStatusType.DELIVERED],
limit: 10,
page: 1
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Recipients
### Get recipient list
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.recipient.list({
sms_number_id: "sms_number_id",
status: "active",
limit: 10,
page: 1,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get recipient
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.recipient.single("sms_recipient_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update recipient
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.recipient.update("sms_recipient_id", "active")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Webhooks
### Get webhook list for a number
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.webhook.list("sms_number_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get webhook
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.webhook.single("sms_webhook_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Create webhook
```js
import 'dotenv/config';
import { MailerSend, SmsWebhook, SmsWebhookEventType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const smsWebhook = new SmsWebhook()
.setName("Sms Webhook")
.setUrl("https:://yourapp.com/hook")
.setSmsNumberId("sms_number_id")
.setEnabled(true)
.setEvents([SmsWebhookEventType.SENT, SmsWebhookEventType.DELIVERED])
mailerSend.sms.webhook.create(smsWebhook)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update webhook
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.webhook.update("sms_webhook_id", {
name: "Webhook",
url: "https:://yourapp.com/hook",
enabled: ["sms.sent", "sms.delivered", "sms.failed"],
enabled: true
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete webhook
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.webhook.delete("sms_webhook_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Verify webhook signature
See [Utils — Verify a webhook signature](#verify-a-webhook-signature).
## Inbound
### Get inbound list
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.inbound.list({
enabled: 1,
sms_number_id: "sms_number_id",
limit: 10,
page: 1,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get inbound
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.inbound.single("sms_inbound_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Add inbound
```js
import 'dotenv/config';
import { MailerSend, SmsInbound } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const smsInbound = new SmsInbound()
.setSmsNumberId("sms_number_id")
.setEnabled(true)
.setName("Inbound Name")
.setForwardUrl("yourapp.com/hook")
.setFilter({
comparer: "equal",
value: "START"
});
mailerSend.sms.inbound.create(smsInbound)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update inbound
```js
import 'dotenv/config';
import { MailerSend, SmsInbound } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const smsInbound = new SmsInbound()
.setSmsNumberId("sms_number_id")
.setEnabled(true)
.setName("Inbound Name Update")
.setForwardUrl("yourapp.com/hook")
.setFilter({
comparer: "equal",
value: "START"
});
mailerSend.sms.inbound.update("sms_inbound_id", {...smsInbound})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete inbound
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.inbound.delete("sms_inbound_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Identity
### Get identity list
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.identity.list()
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get identity
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.identity.single("identity_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get identity by email address
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.identity.singleByEmail('email_address')
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Create identity
```js
import 'dotenv/config';
import { MailerSend, Inbound, InboundFilterType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const identity = new Identity()
.setDomainId('domain_id')
.setEmail('identity@yourdomain.com')
.setName('Name')
.setReplyToEmail('reply_identity@yourdomain.com')
.setReplyToName('Reply Name')
.setAddNote(false);
mailerSend.email.identity.create(identity)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update identity
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const data = {
name: 'name',
reply_to_name: 'Reply Name',
reply_to_email: 'reply@yourdomain.com',
};
mailerSend.email.identity.update('identity_id', data)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update identity by email address
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const data = {
name: 'name',
reply_to_name: 'Reply Name',
reply_to_email: 'reply@yourdomain.com',
};
mailerSend.email.identity.updateByEmail('email_address', data)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete identity
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.identity.delete("identity_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete identity by email address
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.identity.deleteByEmail('email_address')
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Resend identity verification
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.identity.resend("identity_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## SMTP Users
### List SMTP users
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.smtpUser.list("domain_id", { page: 1, limit: 25 })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get SMTP user
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.smtpUser.single("domain_id", "smtp_user_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Create SMTP user
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.smtpUser.create("domain_id", {
name: "My SMTP User",
enabled: true,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update SMTP user
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.smtpUser.update("domain_id", "smtp_user_id", {
name: "Updated SMTP User",
enabled: false,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete SMTP user
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.smtpUser.delete("domain_id", "smtp_user_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Users
### Get user list
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.user.list({ page: 1, limit: 25 })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get single user
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.user.single("user_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Invite a user
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.user.create({
email: "user@example.com",
role: "manager",
// For role "custom", permissions is required:
// permissions: ["read-activity", "read-analytics"],
// templates: ["template_id"],
// domains: ["domain_id"],
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update user
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.user.update("user_id", {
role: "designer",
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete user
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.user.delete("user_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get invite list
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.user.listInvites({ page: 1, limit: 25 })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get single invite
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.user.singleInvite("invite_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Resend invite
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.user.resendInvite("invite_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Cancel invite
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.user.deleteInvite("invite_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## DMARC Monitoring
### List monitors
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.dmarc.list({ page: 1, limit: 25 })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Create monitor
```js
import 'dotenv/config';
import { MailerSend, Dmarc } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const dmarc = new Dmarc("domain_id");
mailerSend.dmarc.create(dmarc)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update monitor
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.dmarc.update("monitor_id", { wanted_dmarc_record: "v=DMARC1; p=reject;" })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete monitor
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.dmarc.delete("monitor_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get aggregated reports
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.dmarc.report("monitor_id", { page: 1, limit: 25 })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get IP-specific reports
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.dmarc.reportByIp("monitor_id", "1.2.3.4", { page: 1, limit: 25 })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get report sources
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.dmarc.reportSources("monitor_id", {
date_from: 1700000000,
date_to: 1700100000,
status: "accepted", // optional: "accepted" | "rejected" | "quarantined"
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Mark IP as favorite
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.dmarc.addFavorite("monitor_id", "1.2.3.4")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Remove IP from favorites
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.dmarc.removeFavorite("monitor_id", "1.2.3.4")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Blocklist Monitoring
### List blocklist monitors
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.blocklistMonitor.list({ page: 1, limit: 25 })
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Get single blocklist monitor
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.blocklistMonitor.single("monitor_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Create blocklist monitor
```js
import 'dotenv/config';
import { MailerSend, BlocklistMonitor } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const monitor = new BlocklistMonitor("example.com")
.setName("My Domain Monitor")
.setNotify(true)
.setNotifyEmail("alerts@example.com");
mailerSend.blocklistMonitor.create(monitor)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Update blocklist monitor
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.blocklistMonitor.update("monitor_id", {
name: "Updated Monitor Name",
notify: true,
notify_email: "alerts@example.com",
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
### Delete blocklist monitor
```js
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.blocklistMonitor.delete("monitor_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Other endpoints
### Get API quota
```js
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.others.getApiQuota()
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
```
## Utils
### Verify a webhook signature
Use `MailerSendUtils.verifyWebHook()` to verify the HMAC signature on incoming webhook requests. This works for both email and SMS webhooks.
```js
import { MailerSendUtils } from "mailersend";
// rawBody must be the raw Buffer from the request (do not parse it as JSON first)
const isValid = MailerSendUtils.verifyWebHook(
rawBody,
request.headers['x-mailersend-signature'],
process.env.WEBHOOK_SIGNING_SECRET
);
```
# Support and Feedback
In case you find any bugs, submit an issue directly here in GitHub.
You are welcome to create SDK for any other programming language.
If you have any troubles using our API or SDK free to contact our support by email [info@mailersend.com](mailto:info@mailersend.com)
The official documentation is at [https://developers.mailersend.com](https://developers.mailersend.com)
# License
[The MIT License (MIT)](LICENSE)
================================================
FILE: examples/v1/activity/byCountry.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.activityByCountry({
date_from: 1443651141,
date_to: 2443651141
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/activity/byDate.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.activityByDate({
date_from: 1443651141,
date_to: 2443651141,
event: ["sent"]
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/activity/byReadingEnvironment.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.activityByReadingEnvironment({
date_from: 1443651141,
date_to: 2443651141
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/activity/byUserAgent.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.activityByUserAgent({
date_from: 1443651141,
date_to: 2443651141
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/activity/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.activityList({
domain_id: "xxx",
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/domains/add.js
================================================
"use strict";
require("dotenv").config();
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.addDomain({
name: "example.com",
return_path_subdomain: "rp_subdomain",
custom_tracking_subdomain: "ct_subdomain",
inbound_routing_subdomain: "ir_subdomain",
})
.then((response) => response.json())
.then((data) => {
console.log(data);
});
================================================
FILE: examples/v1/domains/delete.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteDomain({
domain_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/domains/dns.js
================================================
"use strict";
require("dotenv").config();
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getDNS({
domain_id: "xxx",
})
.then((response) => {
response.json();
})
.then((data) => {
console.log(data);
});
================================================
FILE: examples/v1/domains/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.domainList({
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/domains/recipients.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.domainRecipients({
domain_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/domains/settings.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.domainSettings({
domain_id: 'xxx',
send_paused: false
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/domains/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.domain({
domain_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/domains/verify.js
================================================
"use strict";
require("dotenv").config();
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.verifyDomain({
domain_id: "xxx",
})
.then((response) => {
response.json();
})
.then((data) => {
console.log(data);
});
================================================
FILE: examples/v1/email/advancedPersonalization.js
================================================
"use strict";
require('dotenv').config()
const Recipient = require("../../src/Recipient");
const EmailParams = require("../../src/EmailParams");
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const personalization = [
{
email: "your@client.com",
data: {
test: 'Test Value'
},
}
];
const emailParams = new EmailParams()
.setFrom("your@domain.com")
.setFromName("Your Name")
.setRecipients(recipients)
.setPersonalization(personalization)
.setSubject("Subject, {{ test }}")
.setHtml("This is the HTML content, {{ test }}")
.setText("This is the text content, {{ test }}");
mailersend.send(emailParams);
================================================
FILE: examples/v1/email/ccBccRecipients.js
================================================
"use strict";
require('dotenv').config()
const Recipient = require("../../src/Recipient");
const EmailParams = require("../../src/EmailParams");
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const cc = [
new Recipient("your_cc@client.com", "Your CC Client")
];
const bcc = [
new Recipient("your_bcc@client.com", "Your BCC Client")
];
const emailParams = new EmailParams()
.setFrom("your@domain.com")
.setFromName("Your Name")
.setRecipients(recipients)
.setCc(cc)
.setBcc(bcc)
.setSubject("Subject")
.setHtml("This is the HTML content")
.setText("This is the text content");
mailersend.send(emailParams);
================================================
FILE: examples/v1/email/getBulkEmailRequestStatus.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getBulkEmailRequestStatus({
bulk_email_id: 'xxx'
})
.then((response) => response.json())
.then((data) => {
console.log(data);
});
================================================
FILE: examples/v1/email/sendAnEmail.js
================================================
"use strict";
require('dotenv').config()
const Recipient = require("../../src/Recipient");
const EmailParams = require("../../src/EmailParams");
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom("your@domain.com")
.setFromName("Your Name")
.setRecipients(recipients)
.setReplyTo("reply@domain.com")
.setReplyToName("Reply to name")
.setSubject("Subject")
.setHtml("This is the HTML content")
.setText("This is the text content");
mailersend.send(emailParams);
================================================
FILE: examples/v1/email/sendBulkEmail.js
================================================
"use strict";
require('dotenv').config()
const Recipient = require("../../src/Recipient");
const EmailParams = require("../../src/EmailParams");
const MailerSend = require("../../src/MailerSend");
const BulkEmails = require("../../src/BulkEmails");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
const bulkEmails = new BulkEmails();
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom("your@domain.com")
.setFromName("Your Name")
.setRecipients(recipients)
.setSubject("Subject")
.setHtml("This is the HTML content")
.setText("This is the text content");
bulkEmails.addEmail(emailParams)
bulkEmails.addEmails([
emailParams,
emailParams
])
mailersend.sendBulk(bulkEmails)
.then((response) => response.json())
.then((data) => {
console.log(data);
});
================================================
FILE: examples/v1/email/sendScheduleEmail.js
================================================
"use strict";
require('dotenv').config()
const Recipient = require("../../src/Recipient");
const EmailParams = require("../../src/EmailParams");
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom("your@domain.com")
.setFromName("Your Name")
.setRecipients(recipients)
.setReplyTo("reply@domain.com")
.setReplyToName("Reply to name")
.setSubject("Subject")
.setSendAt(2443651141) //set sendAt is a timestamp - min: now, max: now + 72hours
.setHtml("This is the HTML content")
.setText("This is the text content");
mailersend.send(emailParams);
================================================
FILE: examples/v1/email/simplePersonalization.js
================================================
"use strict";
require('dotenv').config()
// const Recipient = require("../../src/Recipient");
const EmailParams = require("../../src/EmailParams");
const MailerSend = require("../../src/MailerSend");
const { default: Recipient } = require('../../src/Recipient');
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const variables = [
{
email: "your@client.com",
substitutions: [
{
var: 'test',
value: 'Test Value'
}
],
}
];
const emailParams = new EmailParams()
.setFrom("your@domain.com")
.setFromName("Your Name")
.setRecipients(recipients)
.setVariables(variables)
.setSubject("Subject, {$test}")
.setHtml("This is the HTML content, {$test}")
.setText("This is the text content, {$test}");
mailersend.send(emailParams);
================================================
FILE: examples/v1/email/templatedEmail.js
================================================
"use strict";
require('dotenv').config()
const Recipient = require("../../src/Recipient");
const EmailParams = require("../../src/EmailParams");
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom("your@domain.com")
.setFromName("Your Name")
.setRecipients(recipients)
.setTemplateId('templateId')
.setSubject("Subject")
mailersend.send(emailParams);
================================================
FILE: examples/v1/email/withAttachment.js
================================================
"use strict";
require('dotenv').config()
const fs = require('fs');
const Recipient = require("../../src/Recipient");
const Attachment = require("../../src/Attachment");
const EmailParams = require("../../src/EmailParams");
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const attachments = [
new Attachment(fs.readFileSync('/path/to/file.pdf', {encoding: 'base64'}), 'file.pdf', 'attachment')
]
const emailParams = new EmailParams()
.setFrom("your@domain.com")
.setFromName("Your Name")
.setRecipients(recipients)
.setAttachments(attachments)
.setSubject("Subject")
.setHtml("This is the HTML content")
.setText("This is the text content");
mailersend.send(emailParams);
================================================
FILE: examples/v1/email-verification/create.js
================================================
"use strict";
require("dotenv").config();
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.createEmailVerificationList({
name: "List example",
emails: [
"info@mailersend.com",
"test@mailersend.com"
]
})
.then((response) => response.json())
.then((data) => {
console.log(data);
});
================================================
FILE: examples/v1/email-verification/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.emailVerificationLists({
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/email-verification/results.js
================================================
"use strict";
require("dotenv").config();
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.emailVerificationResults({
email_verification_id: "xxx",
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/email-verification/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.emailVerificationList({
email_verification_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/email-verification/verify.js
================================================
"use strict";
require("dotenv").config();
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.verifyEmailVerificationList({
email_verification_id: "xxx",
})
.then((response) => response.json())
.then((data) => {
console.log(data);
});
================================================
FILE: examples/v1/inbounds/create.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.createInbound({
domain_id: "xxx",
name: "Test name",
domain_enabled: true,
inbound_domain: "test.yourdomain.com",
inbound_address: "test@inbound.yourdomain.com",
inbound_subdomain: "inbound",
inbound_priority: 100,
match_filter: {
type: "match_all"
},
catch_filter: {
type: "catch_recipient",
filters: [
{
comparer: "equal",
value: "test"
}
]
},
forwards: [
{
type: "webhook",
value: "https://www.yourdomain.com/hook"
}
]
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/inbounds/delete.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteInbound({
inbound_id: 'xxx'
});
================================================
FILE: examples/v1/inbounds/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.inboundList()
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/inbounds/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.inbound({
inbound_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/inbounds/update.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.updateInbound({
inbound_id: "xxx",
domain_id: "xxx",
name: "Test name",
domain_enabled: true,
inbound_domain: "test.yourdomain.com",
inbound_address: "test@inbound.yourdomain.com",
inbound_subdomain: "inbound",
inbound_priority: 100,
match_filter: {
type: "match_all"
},
catch_filter: {
type: "catch_recipient",
filters: [
{
comparer: "equal",
value: "test"
}
]
},
forwards: [
{
type: "webhook",
value: "https://www.yourdomain.com/hook"
}
]
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/messages/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.messagesList()
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/messages/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.message({
message_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/recipients/addRecipientsToBlocklist.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.addRecipientsToBlocklist({
domain_id: 'xxx',
recipients: [
"test@example.com"
]
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/recipients/addRecipientsToHardBounceList.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.addRecipientsToHardBounceList({
domain_id: 'xxx',
recipients: [
"test@example.com"
]
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/recipients/addRecipientsToSpamComplaintList.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.addRecipientsToSpamComplaintList({
domain_id: 'xxx',
recipients: [
"test@example.com"
]
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/recipients/addRecipientsToUnsubscribeList.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.addRecipientsToUnsubscribeList({
domain_id: 'xxx',
recipients: [
"test@example.com"
]
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/recipients/delete.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteRecipient({
recipient_id: 'xxx'
});
================================================
FILE: examples/v1/recipients/deleteRecipientsFromBlocklist.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteRecipientsFromBlocklist({
ids: [
"xxxxxxxxxxx",
"yyyyyyyyyyy"
]
});
================================================
FILE: examples/v1/recipients/deleteRecipientsFromHardBounceList.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteRecipientsFromHardBounceList({
ids: [
"xxxxxxxxxxx",
"yyyyyyyyyyy"
]
});
================================================
FILE: examples/v1/recipients/deleteRecipientsFromSpamComplaintList.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteRecipientsFromSpamComplaintList({
ids: [
"xxxxxxxxxxx",
"yyyyyyyyyyy"
]
});
================================================
FILE: examples/v1/recipients/deleteRecipientsFromUnsubscribeList.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteRecipientsFromUnsubscribeList({
ids: [
"xxxxxxxxxxx",
"yyyyyyyyyyy"
]
});
================================================
FILE: examples/v1/recipients/getRecipientsFromBlocklist.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getRecipientsFromBlocklist({
domain_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/recipients/getRecipientsFromHardBounceList.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getRecipientsFromHardBounceList({
domain_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/recipients/getRecipientsFromSpamComplaintList.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getRecipientsFromSpamComplaintList({
domain_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/recipients/getRecipientsFromUnsubscribeList.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getRecipientsFromUnsubscribeList({
domain_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/recipients/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.recipientsList()
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/recipients/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.recipient({
recipient_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/scheduled/delete.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteSchedule({
message_id: 'xxx'
});
================================================
FILE: examples/v1/scheduled/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.scheduleList()
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/scheduled/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.schedule({
message_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/activities/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getSmsActivities()
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/activities/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getSmsActivity({
sms_message_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/inbounds/create.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.createSmsInbound({
sms_number_id: "xxx",
name: "Inbound",
forward_url: "https:://yourapp.com/hook",
filter: {
comparer: "equal",
value: "START"
},
enabled: true
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/inbounds/delete.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteSmsInbound({
sms_inbound_id: 'xxx'
});
================================================
FILE: examples/v1/sms/inbounds/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getSmsInbounds()
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/inbounds/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getSmsInbound({
sms_inbound_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/inbounds/update.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.updateSmsInbound({
sms_inbound_id: "xxx",
name: "Inbound",
forward_url: "https:://yourapp.com/hook",
filter: {
comparer: "equal",
value: "START"
},
enabled: true
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/messages/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getSmsMessages()
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/messages/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getSmsMessage({
sms_message_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/numbers/delete.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteSmsNumber({
sms_number_id: 'xxx'
});
================================================
FILE: examples/v1/sms/numbers/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getSmsNumbers()
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/numbers/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getSmsNumber({
sms_number_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/numbers/update.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.updateSmsNumber({
sms_number_id: 'xxx',
paused: false
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/recipients/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getSmsRecipients()
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/recipients/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getSmsRecipient({
sms_recipient_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/recipients/update.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.updateSmsRecipient({
sms_recipient_id: "xxx",
status: "active"
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/sendAnSms.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const SmsParams = require("../../src/SmsParams");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
const to = [
"+18332647501"
];
const smsParams = new SmsParams()
.setFrom("+18332647501")
.setTo(to)
.setText("This is the text content");
mailersend.sendSms(smsParams);
================================================
FILE: examples/v1/sms/smsPersonalization.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const SmsParams = require("../../src/SmsParams");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
const to = [
"+18332647501",
"+18332647502"
];
const personalization = [
{
"phone_number": "+18332647501",
"data": {
"name": "Dummy"
}
},
{
"phone_number": "+18332647502",
"data": {
"name": "Not Dummy"
}
}
];
const smsParams = new SmsParams()
.setFrom("+18332647501")
.setTo(to)
.setPersonalization(personalization)
.setText("Hey {{name}} welcome to our organization");
mailersend.sendSms(smsParams);
================================================
FILE: examples/v1/sms/webhooks/create.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.createSmsWebhook({
sms_number_id: "xxx",
name: "Webhook",
url: "https:://yourapp.com/hook",
enabled: ["sms.sent", "sms.delivered", "sms.failed"],
enabled: true
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/webhooks/delete.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteSmsWebhook({
sms_webhook_id: 'xxx'
});
================================================
FILE: examples/v1/sms/webhooks/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getSmsWebhooks({
sms_number_id: 'xxx',
limit: 10
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/webhooks/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.getSmsWebhook({
sms_webhook_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/sms/webhooks/update.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.updateSmsWebhook({
sms_webhook_id: "xxx",
name: "Webhook",
url: "https:://yourapp.com/hook",
enabled: ["sms.sent", "sms.delivered", "sms.failed"],
enabled: true
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/templates/delete.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteTemplate({
template_id: 'xxx'
});
================================================
FILE: examples/v1/templates/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.templateList()
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/templates/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.template({
template_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/tokens/createToken.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.createToken({
name: "Token name",
domain_id: "xxx",
scopes: [
"email_full",
"domains_read",
"domains_full",
"activity_read",
"activity_full",
"analytics_read",
"analytics_full",
"tokens_full",
]
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/tokens/deleteToken.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteToken({
token_id: "xxx"
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/tokens/updateToken.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.updateToken({
token_id: "xxx",
status: "pause"
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/webhooks/create.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.createWebhook({
url: "https://example.com",
name: "Webhook name",
events: ["activity.sent"],
domain_id: "xxx"
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/webhooks/delete.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.deleteWebhook({
webhook_id: 'xxx'
});
================================================
FILE: examples/v1/webhooks/list.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.webhooksList({
domain_id: "xxx"
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/webhooks/single.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.webhook({
webhook_id: 'xxx'
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v1/webhooks/update.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
mailersend.updateWebhook({
webhook_id: "xxx",
name: "New name"
})
.then(response => response.json())
.then(data => {
console.log(data);
});
================================================
FILE: examples/v2/email/activity/list.js
================================================
import 'dotenv/config';
import { MailerSend, ActivityEventType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const queryParams = {
limit: 10, // Min: 10, Max: 100, Default: 25
page: 2,
date_from: 1443651141, // Unix timestamp
date_to: 1443651141, // Unix timestamp
event: [ActivityEventType.SENT, ActivityEventType.SOFT_BOUNCED]
}
mailerSend.email.activity.domain("domain_id", queryParams)
.then((response) => console.log(response.body))
.catch((error) => console.log(error));
================================================
FILE: examples/v2/email/advancedPersonalization.js
================================================
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const personalization = [
{
email: "your@client.com",
data: {
test: 'Test Value'
},
}
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setPersonalization(personalization)
.setSubject("Subject, {{ test }}")
.setHtml("This is the HTML content, {{ test }}")
.setText("This is the text content, {{ test }}");
await mailerSend.email.send(emailParams);
================================================
FILE: examples/v2/email/analytics/byCountry.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.analytics.byCountry({
date_from: 1443651141,
date_to: 2443651141,
}).then(response => {
console.log(response.body);
}).catch(error => {
console.log(error.body);
});
================================================
FILE: examples/v2/email/analytics/byDate.js
================================================
import 'dotenv/config';
import { ActivityEventType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.analytics.byDate({
date_from: 1443651141,
date_to: 2443651141,
event: [ActivityEventType.CLICKED, ActivityEventType.OPENED],
}).then(response => {
console.log(response.body);
}).catch(error => {
console.log(error.body);
});
================================================
FILE: examples/v2/email/analytics/byReadingEnvironment.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.analytics.byReadingEnvironment({
date_from: 1443651141,
date_to: 2443651141,
}).then(response => {
console.log(response.body);
}).catch(error => {
console.log(error.body);
});
================================================
FILE: examples/v2/email/analytics/byUserAgent.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.analytics.byUserAgent({
date_from: 1443651141,
date_to: 2443651141,
}).then(response => {
console.log(response.body);
}).catch(error => {
console.log(error.body);
});
================================================
FILE: examples/v2/email/ccBccRecipients.js
================================================
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("bbbb@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const cc = [
new Recipient("your_cc@client.com", "Your Client CC")
];
const bcc = [
new Recipient("your_bcc@client.com", "Your Client BCC")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setCc(cc)
.setBcc(bcc)
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content");
await mailerSend.email.send(emailParams);
================================================
FILE: examples/v2/email/domains/add.js
================================================
import 'dotenv/config';
import { MailerSend, Domain } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const domain = new Domain({
name: "example.com",
returnPathSubdomain: "rp_subdomain",
customTrackingSubdomain: "ct_subdomain",
inboundRoutingSubdomain: "ir_subdomain",
})
mailerSend.email.domain.create(domain)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/domains/delete.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.delete("domain_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/domains/dns.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.dns("domain_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/domains/list.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.list()
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/domains/recipients.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.recipients("domain_id", {
page: 1,
limit: 10
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/domains/settings.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.updateSettings("domain_id", {
send_paused: 1,
track_clicks: 1,
track_opens: 1,
track_unsubscribe: 1,
track_unsubscribe_html: "<strong> Unsubscribe now </strong>",
track_unsubscribe_plain: "Unsubscribe now",
track_content: 1,
custom_tracking_enabled: 1,
custom_tracking_subdomain: "subdomain",
precedence_bulk: 1,
ignore_duplicated_recipients: 1,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/domains/single.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.single("domain_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/domains/verify.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.domain.verify("domain_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/getBulkEmailRequestStatus.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.getBulkStatus('bulk_email_id') // bulk email Id e.g 63af1fdb790d97105a090001
.then((response) => {
console.log(response.body);
});
================================================
FILE: examples/v2/email/identities/create.js
================================================
import 'dotenv/config';
import { MailerSend, Identity } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const identity = new Identity()
.setDomainId('domain_id')
.setEmail('identity@yourdomain.com')
.setName('Name')
.setReplyToEmail('reply_identity@yourdomain.com')
.setReplyToName('Reply Name')
.setAddNote(false);
mailerSend.email.identity.create(identity)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/identities/delete.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.identity.delete("identity_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/identities/deleteByEmail.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.identity.deleteByEmail('email_address')
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/identities/list.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.identity.list()
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/identities/single.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.identity.single("identity_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/identities/singleByEmail.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.identity.singleByEmail('email_address')
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/identities/update.js
================================================
import 'dotenv/config';
import { MailerSend, Inbound, InboundFilterType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const data = {
domain_id: 'string',
email: 'email@yourdomain.com',
name: 'name',
personal_note: 'Personal note',
reply_to_name: 'Reply Name',
reply_to_email: 'repy@yourdomain.com',
add_note: true,
};
mailerSend.email.identity.update('identiy_id', data)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/identities/updateByEmail.js
================================================
import 'dotenv/config';
import { MailerSend, Inbound, InboundFilterType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const data = {
domain_id: 'string',
email: 'email@yourdomain.com',
name: 'name',
personal_note: 'Personal note',
reply_to_name: 'Reply Name',
reply_to_email: 'repy@yourdomain.com',
add_note: true,
};
mailerSend.email.identity.updateByEmail('email_address', data)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/inbounds/create.js
================================================
import 'dotenv/config';
import { MailerSend, Inbound, InboundFilterType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const inbound = new Inbound('inbound test', true, 'domain_id')
.setInboundPriority(100)
.setMatchFilter({
type: InboundFilterType.MATCH_ALL,
})
.setForwards([
{
type: "webhook",
value: "https://www.yourdomain.com/hook"
}
]);
mailerSend.email.inbound.create(inbound)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/inbounds/delete.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.inbound.delete("inbound_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/inbounds/list.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.inbound.list()
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/inbounds/single.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.inbound.single("inbound_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/inbounds/update.js
================================================
import 'dotenv/config';
import { MailerSend, Inbound, InboundFilterType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const inbound = new Inbound('inbound test 2', false, 'domain_id')
.setMatchFilter({
type: InboundFilterType.MATCH_ALL,
})
.setForwards([
{
type: "webhook",
value: "https://www.yourdomain.com/hook"
}
]);
mailerSend.email.inbound.update('inbound_id', inbound)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/messages/list.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.message.list()
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/messages/single.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.message.single("message_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/addRecipientsToBlocklist.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockRecipients({
domain_id: 'domain_id',
recipients: [
"test@example.com"
]
}, BlockListType.BLOCK_LIST)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/addRecipientsToHardBounceList.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockRecipients({
domain_id: 'domain_id',
recipients: [
"test@example.com"
]
}, BlockListType.HARD_BOUNCES_LIST)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/addRecipientsToSpamComplaintList.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockRecipients({
domain_id: 'domain_id',
recipients: [
"test@example.com"
]
}, BlockListType.SPAM_COMPLAINTS_LIST)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/addRecipientsToUnsubscribeList.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockRecipients({
domain_id: 'domain_id',
recipients: [
"test@example.com"
]
}, BlockListType.UNSUBSCRIBES_LIST)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/delete.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delete("recipient_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/deleteAllBlocklistRecipients.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delAllBlockListRecipients(BlockListType.BLOCK_LIST)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/deleteRecipientsFromBlocklist.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delBlockListRecipients(
["recipient_id", "recipient_id"],
BlockListType.BLOCK_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/deleteRecipientsFromHardBounceList.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delBlockListRecipients(
["recipient_id", "recipient_id"],
BlockListType.HARD_BOUNCES_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/deleteRecipientsFromSpamComplaintList.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delBlockListRecipients(
["recipient_id", "recipient_id"],
BlockListType.SPAM_COMPLAINTS_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/deleteRecipientsFromUnsubscribeList.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.delBlockListRecipients(
["recipient_id", "recipient_id"],
BlockListType.UNSUBSCRIBES_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/getRecipientsFromBlocklist.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockList(
{ domain_id: "domain_id", },
BlockListType.BLOCK_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/getRecipientsFromHardBounceList.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockList(
{ domain_id: "domain_id", },
BlockListType.HARD_BOUNCES_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/getRecipientsFromSpamComplaintList.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockList(
{ domain_id: "domain_id", },
BlockListType.SPAM_COMPLAINTS_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/getRecipientsFromUnsubscribeList.js
================================================
import 'dotenv/config';
import { BlockListType, MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.blockList(
{ domain_id: "domain_id", },
BlockListType.UNSUBSCRIBES_LIST
)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/list.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.list({
domain_id: "domain_id",
limit: 10,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/recipients/single.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.recipient.single("recipient_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/scheduled/delete.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.schedule.delete("message_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/scheduled/list.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.schedule.list()
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/scheduled/single.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.schedule.single("message_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/sendAnEmail.js
================================================
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content");
await mailerSend.email.send(emailParams);
================================================
FILE: examples/v2/email/sendBulkEmail.js
================================================
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("your@yourdomain.com", "Your name");
const bulkEmails = [];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo([
new Recipient("your@client.com", "Your Client")
])
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content");
bulkEmails.push(emailParams);
const emailParams2 = new EmailParams()
.setFrom(sentFrom)
.setTo([
new Recipient("your_2@client.com", "Your Client 2")
])
.setSubject("This is a Subject 2")
.setHtml("<strong>This is the HTML content 2</strong>")
.setText("This is the text content 2");
bulkEmails.push(emailParams2);
await mailerSend.email.sendBulk(bulkEmails);
================================================
FILE: examples/v2/email/sendScheduleEmail.js
================================================
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setSubject("This is a scheduled Subject")
.setHtml("<strong>This is a scheduled HTML content</strong>")
.setText("This is a scheduled text content")
.setSendAt(Math.floor((new Date(Date.now()+ 30*60*1000)).getTime() / 1000)); //send in 30mins NB:param has to be a Unix timestamp e.g 2443651141
await mailerSend.email.send(emailParams);
================================================
FILE: examples/v2/email/simplePersonalization.js
================================================
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const variables = [
{
email: "your@client.com",
substitutions: [
{
var: 'test',
value: 'Test Value'
}
],
}
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setVariables(variables)
.setSubject("Subject, {$test}")
.setHtml("This is the HTML content, {$test}")
.setText("This is the text content, {$test}");
await mailerSend.email.send(emailParams);
================================================
FILE: examples/v2/email/templatedEmail.js
================================================
import 'dotenv/config';
import { MailerSend, EmailParams, Sender, Recipient } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setSubject("This is a Subject")
.setTemplateId('templateId');
await mailerSend.email.send(emailParams);
================================================
FILE: examples/v2/email/templates/delete.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.template.single("domain_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/templates/list.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.template.list({
domain_id: "domain_id"
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/templates/single.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.template.single("domain_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/webhooks/create.js
================================================
import 'dotenv/config';
import { EmailWebhook, EmailWebhookEventType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const emailWebhook = new EmailWebhook()
.setName("Webhook Name")
.setUrl("https://example.com")
.setDomainId("domain_id")
.setEnabled(true)
.setEvents([EmailWebhookEventType.SENT, EmailWebhookEventType.OPENED]);
mailerSend.email.webhook.create(emailWebhook)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/webhooks/delete.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.webhook.delete("webhook_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/webhooks/list.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.webhook.list("domain_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/webhooks/single.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.email.webhook.single("webhook_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/webhooks/update.js
================================================
import 'dotenv/config';
import { EmailWebhook, EmailWebhookEventType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const emailWebhook = new EmailWebhook()
.setName("Webhook Name 2")
.setEnabled(false)
.setEvents([EmailWebhookEventType.SENT, EmailWebhookEventType.OPENED]);
mailerSend.email.webhook.update("webhook_id", emailWebhook)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email/withAttachment.js
================================================
import 'dotenv/config';
import fs from "fs";
import { MailerSend, EmailParams, Sender, Recipient, Attachment } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const sentFrom = new Sender("you@yourdomain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const attachments = [
new Attachment(
fs.readFileSync('/path/to/file.pdf', { encoding: 'base64' }),
'file.pdf',
'attachment'
)
]
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setReplyTo(sentFrom)
.setAttachments(attachments)
.setSubject("This is a Subject")
.setHtml("<strong>This is the HTML content</strong>")
.setText("This is the text content");
await mailerSend.email.send(emailParams);
================================================
FILE: examples/v2/email-verification/create.js
================================================
import 'dotenv/config';
import { EmailVerification, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const emailVerification = new EmailVerification()
.setName("List example")
.setEmails([
"info@mailersend.com",
"test@mailersend.com"
]);
mailerSend.emailVerification.create(emailVerification)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email-verification/list.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.emailVerification.list({
limit: 10,
page: 1
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email-verification/results.js
================================================
import 'dotenv/config';
import { EmailVerificationResultType, MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.emailVerification.getListResult("email_verification_id",{
limit: 10,
page: 1,
result: [EmailVerificationResultType.CATCH_ALL, EmailVerificationResultType.DISPOSABLE]
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email-verification/single.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.emailVerification.single("email_verification_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email-verification/verifyEmail.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.emailVerification.verifyEmail("client@domain.com")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/email-verification/verifyList.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.emailVerification.verifyList("email_verification_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/others/getApiQuota.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.others.getApiQuota()
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/activities/list.js
================================================
import 'dotenv/config';
import { MailerSend, SmsActivityStatusType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.activity.list({
sms_number_id: "number_id",
status: [SmsActivityStatusType.SENT, SmsActivityStatusType.DELIVERED],
limit: 10,
page: 1
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/activities/single.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.activity.single("sms_message_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/inbounds/create.js
================================================
import 'dotenv/config';
import { MailerSend, SmsInbound } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const smsInbound = new SmsInbound()
.setSmsNumberId("sms_number_id")
.setEnabled(true)
.setName("Inbound Name")
.setForwardUrl("yourapp.com/hook")
.setFilter({
comparer: "equal",
value: "START"
});
mailerSend.sms.inbound.create(smsInbound)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/inbounds/delete.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.inbound.delete("sms_inbound_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/inbounds/list.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.inbound.list({
enabled: 1,
sms_number_id: "sms_number_id",
limit: 10,
page: 1,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/inbounds/single.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.inbound.single("sms_inbound_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/inbounds/update.js
================================================
import 'dotenv/config';
import { MailerSend, SmsInbound } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const smsInbound = new SmsInbound()
.setSmsNumberId("sms_number_id")
.setEnabled(true)
.setName("Inbound Name Update")
.setForwardUrl("yourapp.com/hook")
.setFilter({
comparer: "equal",
value: "START"
});
mailerSend.sms.inbound.update("sms_inbound_id", {...smsInbound})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/messages/list.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.message.list({
limit: 10,
page: 1
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/messages/single.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.message.single("sms_message_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/numbers/delete.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.number.delete("sms_number_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/numbers/list.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.number.list({
paused: false,
limit: 10,
page: 1
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/numbers/single.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.number.single("sms_number_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/numbers/update.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.number.update("sms_number_id", true)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/recipients/list.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.recipient.list({
sms_number_id: "sms_number_id",
status: "active",
limit: 10,
page: 1,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/recipients/single.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.recipient.single("sms_recipient_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/recipients/update.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.recipient.list({
sms_number_id: "sms_number_id",
status: "active",
limit: 10,
page: 1,
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/sendAnSms.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const SmsParams = require("../../src/SmsParams");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
const to = [
"+18332647501"
];
const smsParams = new SmsParams()
.setFrom("+18332647501")
.setTo(to)
.setText("This is the text content");
mailersend.sendSms(smsParams);
================================================
FILE: examples/v2/sms/smsPersonalization.js
================================================
"use strict";
require('dotenv').config()
const MailerSend = require("../../src/MailerSend");
const SmsParams = require("../../src/SmsParams");
const mailersend = new MailerSend({
api_key: process.env.API_KEY,
});
const to = [
"+18332647501",
"+18332647502"
];
const personalization = [
{
"phone_number": "+18332647501",
"data": {
"name": "Dummy"
}
},
{
"phone_number": "+18332647502",
"data": {
"name": "Not Dummy"
}
}
];
const smsParams = new SmsParams()
.setFrom("+18332647501")
.setTo(to)
.setPersonalization(personalization)
.setText("Hey {{name}} welcome to our organization");
mailersend.sendSms(smsParams);
================================================
FILE: examples/v2/sms/webhooks/create.js
================================================
import 'dotenv/config';
import { MailerSend, SmsWebhook, SmsWebhookEventType } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const smsWebhook = new SmsWebhook()
.setName("Sms Webhook")
.setUrl("https:://yourapp.com/hook")
.setSmsNumberId("sms_number_id")
.setEnabled(true)
.setEvents([SmsWebhookEventType.SENT, SmsWebhookEventType.DELIVERED])
mailerSend.sms.webhook.create(smsWebhook)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/webhooks/delete.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.webhook.delete("sms_webhook_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/webhooks/list.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.webhook.list("sms_number_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/webhooks/single.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.webhook.single("sms_webhook_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/sms/webhooks/update.js
================================================
import 'dotenv/config';
import { MailerSend } from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.sms.webhook.update("sms_webhook_id", {
name: "Webhook",
url: "https:://yourapp.com/hook",
enabled: ["sms.sent", "sms.delivered", "sms.failed"],
enabled: true
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/tokens/createToken.js
================================================
import 'dotenv/config';
import { MailerSend, Token} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
const token = new Token()
.setName("Token name")
.setDomainId("domain_id")
.setScopes([
"email_full",
"domains_read",
"domains_full",
"activity_read",
"activity_full",
"analytics_read",
"analytics_full",
"tokens_full",
]);
mailerSend.token.create(token)
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/tokens/deleteToken.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.token.delete("token_id")
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: examples/v2/tokens/updateToken.js
================================================
import 'dotenv/config';
import { MailerSend} from "mailersend";
const mailerSend = new MailerSend({
apiKey: process.env.API_KEY,
});
mailerSend.token.updateSettings("token_id", {
status: "pause",
})
.then((response) => console.log(response.body))
.catch((error) => console.log(error.body));
================================================
FILE: jestconfig.json
================================================
{
"transform": {
"^.+\\.(t|j)sx?$": "ts-jest"
},
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
"moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json", "node"],
"coverageReporters": ["json-summary", "text", "lcov"]
}
================================================
FILE: package.json
================================================
{
"name": "mailersend",
"version": "3.0.0",
"description": "Node.js helper module for MailerSend API",
"main": "./lib/index.js",
"typings": "./lib/index.d.ts",
"files": [
"lib/**/*"
],
"directories": {
"lib": "./lib"
},
"repository": {
"type": "git",
"url": "git+https://github.com/mailersend/mailersend-nodejs.git"
},
"keywords": [
"mailersend",
"mailersend-ts",
"mailer_send",
"smtp-sender",
"email-sender",
"email-api",
"transactional-emails",
"transactional-sms",
"typescript",
"mailer-send",
"types",
"email"
],
"author": "MailerSend",
"license": "MIT",
"bugs": {
"url": "https://github.com/mailersend/mailersend-nodejs/issues"
},
"homepage": "https://www.mailersend.com/",
"scripts": {
"build": "tsc",
"watch": "tsc --watch",
"test": "jest --config jestconfig.json",
"prepare": "npm run build",
"prepublishOnly": "npm test",
"version": "git add -A src",
"postversion": "git push && git push --tags"
},
"dependencies": {
"gaxios": "^7.0.0",
"qs": "^6.11.0"
},
"devDependencies": {
"@types/jest": "^29.0.0",
"dotenv": "^17.0.0",
"jest": "^29.7.0",
"jest-coverage-badges": "^1.1.2",
"nock": "^14.0.0",
"prettier": "^3.0.0",
"ts-jest": "^29.2.6",
"typescript": "^5.0.0"
}
}
================================================
FILE: renovate.json
================================================
{
"extends": ["github>mailerlite/renovate-config:base"]
}
================================================
FILE: src/__tests__/modules/Activity.test.ts
================================================
import nock from "nock";
import { ActivityModule } from "../../modules/email/Activity.module";
import { ActivityEventType } from "../../models/email/Activity";
describe("Activity Module", () => {
const activityModule = new ActivityModule("test_key", "http://test.com");
it("domain", async () => {
nock("http://test.com")
.get("/activity/test_id")
.query({ limit: 20, page: 2, date_from: 1672531200, date_to: 1675209600 })
.reply(200, { key1: "key1_value" }, { header1: "test" });
const getActivities = await activityModule.domain("test_id", { limit: 20, page: 2, date_from: 1672531200, date_to: 1675209600 });
expect(getActivities.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(getActivities.body).toMatchObject({ key1: "key1_value" });
expect(getActivities.statusCode).toBe(200);
});
it("domain with event filter", async () => {
nock("http://test.com")
.get("/activity/test_id")
.query({ date_from: 1672531200, date_to: 1675209600, "event[0]": ActivityEventType.QUEUED, "event[1]": ActivityEventType.SENT })
.reply(200, { key1: "key1_value" }, { header1: "test" });
const getActivities = await activityModule.domain("test_id", { date_from: 1672531200, date_to: 1675209600, event: [ActivityEventType.QUEUED, ActivityEventType.SENT] });
expect(getActivities.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(getActivities.body).toMatchObject({ key1: "key1_value" });
expect(getActivities.statusCode).toBe(200);
});
it("single", async () => {
nock("http://test.com").get("/activities/test_activity_id").reply(200, { key1: "activity_value" }, { header1: "test" });
const result = await activityModule.single("test_activity_id");
expect(result.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(result.body).toMatchObject({ key1: "activity_value" });
expect(result.statusCode).toBe(200);
});
});
================================================
FILE: src/__tests__/modules/Analytics.test.ts
================================================
import nock from "nock";
import { AnalyticsModule } from "../../modules/email/Analytics.module";
import { ActivityEventType } from "../../models/email/Activity";
import { AnalyticsGroupByType } from "../../models";
describe("Analytics Module", () => {
const analyticsModule = new AnalyticsModule("test_key", "http://test.com");
const baseParams = { date_from: 1672531200, date_to: 1675209600, domain_id: "test_domain_id" };
it("byDate", async () => {
nock("http://test.com").get("/analytics/date").query(baseParams).reply(200, { key1: "date_value" }, { header1: "test" });
const result = await analyticsModule.byDate(baseParams);
expect(result.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(result.body).toMatchObject({ key1: "date_value" });
expect(result.statusCode).toBe(200);
});
it("byCountry", async () => {
nock("http://test.com").get("/analytics/country").query(baseParams).reply(200, { key1: "country_value" }, { header1: "test" });
const result = await analyticsModule.byCountry(baseParams);
expect(result.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(result.body).toMatchObject({ key1: "country_value" });
expect(result.statusCode).toBe(200);
});
it("byUserAgent", async () => {
nock("http://test.com").get("/analytics/ua-name").query(baseParams).reply(200, { key1: "ua_value" }, { header1: "test" });
const result = await analyticsModule.byUserAgent(baseParams);
expect(result.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(result.body).toMatchObject({ key1: "ua_value" });
expect(result.statusCode).toBe(200);
});
it("byReadingEnvironment", async () => {
nock("http://test.com").get("/analytics/ua-type").query(baseParams).reply(200, { key1: "ua_type_value" }, { header1: "test" });
const result = await analyticsModule.byReadingEnvironment(baseParams);
expect(result.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(result.body).toMatchObject({ key1: "ua_type_value" });
expect(result.statusCode).toBe(200);
});
it("byDate with event and group_by", async () => {
const dateParams = { ...baseParams, group_by: AnalyticsGroupByType.DAYS, event: [ActivityEventType.CLICKED, ActivityEventType.OPENED] };
nock("http://test.com").get("/analytics/date").query(dateParams).reply(200, { key1: "date_grouped_value" }, { header1: "test" });
const result = await analyticsModule.byDate(dateParams);
expect(result.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(result.body).toMatchObject({ key1: "date_grouped_value" });
expect(result.statusCode).toBe(200);
});
it("byDate with tags and recipient_id", async () => {
const params = { ...baseParams, tags: ["tag1", "tag2"], recipient_id: ["rcpt_id_1"] };
nock("http://test.com").get("/analytics/date").query(params).reply(200, { key1: "date_value" }, { header1: "test" });
const result = await analyticsModule.byDate(params);
expect(result.statusCode).toBe(200);
});
it("byCountry with tags and recipient_id", async () => {
const params = { ...baseParams, tags: ["tag1"], recipient_id: ["rcpt_id_1"] };
nock("http://test.com").get("/analytics/country").query(params).reply(200, { key1: "country_value" }, { header1: "test" });
const result = await analyticsModule.byCountry(params);
expect(result.statusCode).toBe(200);
});
it("byUserAgent with tags and recipient_id", async () => {
const params = { ...baseParams, tags: ["tag1"], recipient_id: ["rcpt_id_1"] };
nock("http://test.com").get("/analytics/ua-name").query(params).reply(200, { key1: "ua_value" }, { header1: "test" });
const result = await analyticsModule.byUserAgent(params);
expect(result.statusCode).toBe(200);
});
it("byReadingEnvironment with tags and recipient_id", async () => {
const params = { ...baseParams, tags: ["tag1"], recipient_id: ["rcpt_id_1"] };
nock("http://test.com").get("/analytics/ua-type").query(params).reply(200, { key1: "ua_type_value" }, { header1: "test" });
const result = await analyticsModule.byReadingEnvironment(params);
expect(result.statusCode).toBe(200);
});
});
================================================
FILE: src/__tests__/modules/BlocklistMonitor.test.ts
================================================
import nock from "nock";
import { BlocklistMonitorModule } from "../../modules/BlocklistMonitor.module";
import { BlocklistMonitor } from "../../models";
describe("Blocklist Monitor Module", () => {
const blocklistMonitorModule = new BlocklistMonitorModule("test_key", "http://test.com");
it("list", async () => {
const params = { page: 1, limit: 10 };
nock("http://test.com").get("/blocklist-monitoring").query(params).reply(200, { key1: "monitor_list" }, { header1: "test" });
const result = await blocklistMonitorModule.list(params);
expect(result.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(result.body).toMatchObject({ key1: "monitor_list" });
expect(result.statusCode).toBe(200);
});
it("list with query and ordering", async () => {
const params = { query: "example.com", sort_by: "name" as const, order: "asc" as const };
nock("http://test.com").get("/blocklist-monitoring").query(params).reply(200, { key1: "monitor_list" }, { header1: "test" });
const result = await blocklistMonitorModule.list(params);
expect(result.statusCode).toBe(200);
});
it("single", async () => {
nock("http://test.com").get("/blocklist-monitoring/test_monitor_id").reply(200, { key1: "monitor_value" }, { header1: "test" });
const result = await blocklistMonitorModule.single("test_monitor_id");
expect(result.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(result.body).toMatchObject({ key1: "monitor_value" });
expect(result.statusCode).toBe(200);
});
it("create", async () => {
const monitor = new BlocklistMonitor("example.com");
nock("http://test.com").post("/blocklist-monitoring", (body: any) => body.address === "example.com").reply(201, { key1: "monitor_created" }, { header1: "test" });
const result = await blocklistMonitorModule.create(monitor);
expect(result.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(result.body).toMatchObject({ key1: "monitor_created" });
expect(result.statusCode).toBe(201);
});
it("create with all fields", async () => {
const monitor = new BlocklistMonitor("example.com")
.setName("My Monitor")
.setNotify(true)
.setNotifyEmail("alerts@example.com")
.setNotifyAddress("https://example.com/webhook");
nock("http://test.com")
.post("/blocklist-monitoring", (body: any) =>
body.address === "example.com" &&
body.name === "My Monitor" &&
body.notify === true &&
body.notify_email === "alerts@example.com" &&
body.notify_address === "https://example.com/webhook"
)
.reply(201, { key1: "monitor_created" }, { header1: "test" });
const result = await blocklistMonitorModule.create(monitor);
expect(result.statusCode).toBe(201);
});
it("update", async () => {
const data = { name: "Updated Monitor" };
nock("http://test.com").put("/blocklist-monitoring/test_monitor_id", (body: any) => body.name === "Updated Monitor").reply(200, { key1: "monitor_updated" }, { header1: "test" });
const result = await blocklistMonitorModule.update("test_monitor_id", data);
expect(result.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(result.body).toMatchObject({ key1: "monitor_updated" });
expect(result.statusCode).toBe(200);
});
it("update with notify fields", async () => {
nock("http://test.com")
.put("/blocklist-monitoring/test_monitor_id", (body: any) =>
body.notify === true &&
body.notify_email === "alerts@example.com" &&
body.notify_address === "https://example.com/webhook"
)
.reply(200, { key1: "monitor_updated" }, { header1: "test" });
const result = await blocklistMonitorModule.update("test_monitor_id", {
notify: true,
notify_email: "alerts@example.com",
notify_address: "https://example.com/webhook",
});
expect(result.statusCode).toBe(200);
});
it("delete", async () => {
nock("http://test.com").delete("/blocklist-monitoring/test_monitor_id").reply(204, {}, { header1: "test" });
const result = await blocklistMonitorModule.delete("test_monitor_id");
expect(result.statusCode).toBe(204);
});
});
================================================
FILE: src/__tests__/modules/Dmarc.test.ts
================================================
import nock from "nock";
import { DmarcModule } from "../../modules/Dmarc.module";
import { Dmarc } from "../../models";
describe("Dmarc Module", () => {
const dmarcModule = new DmarcModule("test_key", "http://test.com");
it("list", async () => {
const params = { limit: 20, page: 2 };
nock("http://test.com").get("/dmarc-monitoring").query(params).reply(200, { key1: "key1_value" }, { header1: "test" });
const response = await dmarcModule.list(params);
expect(response.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(response.body).toMatchObject({ key1: "key1_value" });
expect(response.statusCode).toBe(200);
});
it("list with query and ordering", async () => {
const params = { query: "example.com", sort_by: "created_at" as const, order: "desc" as const };
nock("http://test.com").get("/dmarc-monitoring").query(params).reply(200, { key1: "key1_value" }, { header1: "test" });
const response = await dmarcModule.list(params);
expect(response.statusCode).toBe(200);
});
it("create", async () => {
const dmarc = new Dmarc("domain_id_123");
nock("http://test.com").post("/dmarc-monitoring").reply(201, { id: "monitor_id_123" }, { header1: "test" });
const response = await dmarcModule.create(dmarc);
expect(response.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(response.body).toMatchObject({ id: "monitor_id_123" });
expect(response.statusCode).toBe(201);
});
it("update", async () => {
nock("http://test.com").put("/dmarc-monitoring/test_id").reply(200, { key1: "key1_value" }, { header1: "test" });
const response = await dmarcModule.update("test_id", { wanted_dmarc_record: "v=DMARC1; p=reject;" });
expect(response.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(response.body).toMatchObject({ key1: "key1_value" });
expect(response.statusCode).toBe(200);
});
it("delete", async () => {
nock("http://test.com").delete("/dmarc-monitoring/test_id").reply(204, {}, { header1: "test" });
const response = await dmarcModule.delete("test_id");
expect(response.statusCode).toBe(204);
});
it("report", async () => {
const params = { limit: 10, page: 1 };
nock("http://test.com").get("/dmarc-monitoring/test_id/report").query(params).reply(200, { key1: "key1_value" }, { header1: "test" });
const response = await dmarcModule.report("test_id", params);
expect(response.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(response.body).toMatchObject({ key1: "key1_value" });
expect(response.statusCode).toBe(200);
});
it("report with filters", async () => {
const params = { date_from: "2024-01-01", date_to: "2024-01-31", search: "192.0.2.1", category: "fail", report_source: "google.com" };
nock("http://test.com").get("/dmarc-monitoring/test_id/report").query(params).reply(200, { key1: "key1_value" }, { header1: "test" });
const response = await dmarcModule.report("test_id", params);
expect(response.statusCode).toBe(200);
});
it("reportByIp", async () => {
const params = { limit: 10, page: 1 };
nock("http://test.com").get("/dmarc-monitoring/test_id/report/1.2.3.4").query(params).reply(200, { key1: "key1_value" }, { header1: "test" });
const response = await dmarcModule.reportByIp("test_id", "1.2.3.4", params);
expect(response.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(response.body).toMatchObject({ key1: "key1_value" });
expect(response.statusCode).toBe(200);
});
it("reportByIp with filters", async () => {
const params = { date_from: "2024-01-01", date_to: "2024-01-31", search: "test", category: "fail", report_source: "google.com" };
nock("http://test.com").get("/dmarc-monitoring/test_id/report/1.2.3.4").query(params).reply(200, { key1: "key1_value" }, { header1: "test" });
const response = await dmarcModule.reportByIp("test_id", "1.2.3.4", params);
expect(response.statusCode).toBe(200);
});
it("reportSources", async () => {
const params = { date_from: "2024-01-01", date_to: "2024-01-31" };
nock("http://test.com").get("/dmarc-monitoring/test_id/report-sources").query(params).reply(200, { key1: "key1_value" }, { header1: "test" });
const response = await dmarcModule.reportSources("test_id", params);
expect(response.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(response.body).toMatchObject({ key1: "key1_value" });
expect(response.statusCode).toBe(200);
});
it("reportSources with status", async () => {
const params = { date_from: "2024-01-01", date_to: "2024-01-31", status: "rejected" as const };
nock("http://test.com").get("/dmarc-monitoring/test_id/report-sources").query(params).reply(200, { key1: "key1_value" }, { header1: "test" });
const response = await dmarcModule.reportSources("test_id", params);
expect(response.statusCode).toBe(200);
});
it("addFavorite", async () => {
nock("http://test.com").put("/dmarc-monitoring/test_id/favorite/1.2.3.4").reply(200, {}, { header1: "test" });
const response = await dmarcModule.addFavorite("test_id", "1.2.3.4");
expect(response.statusCode).toBe(200);
});
it("removeFavorite", async () => {
nock("http://test.com").delete("/dmarc-monitoring/test_id/favorite/1.2.3.4").reply(204, {}, { header1: "test" });
const response = await dmarcModule.removeFavorite("test_id", "1.2.3.4");
expect(response.statusCode).toBe(204);
});
});
================================================
FILE: src/__tests__/modules/Domain.test.ts
================================================
import nock from "nock";
import { DomainModule } from "../../modules/email/Domain.module";
import { Domain } from "../../models";
describe("Domain Module", () => {
const domainModule = new DomainModule("test_key", "http://test.com");
it("create", async () => {
const domain = new Domain("mydomain.com", "rp_subdomain", "ct_subdomain", "ir_subdomain");
nock("http://test.com")
.post("/domains", {
name: "mydomain.com",
return_path_subdomain: "rp_subdomain",
custom_tracking_subdomain: "ct_subdomain",
inbound_routing_subdomain: "ir_subdomain",
})
.reply(
200,
{
id: "dle1krod2jvn8gwm",
name: "mydomain.com",
},
{ header1: "test" },
);
const createDomain = await domainModule.create(domain);
expect(createDomain.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(createDomain.body).toMatchObject({ id: "dle1krod2jvn8gwm", name: "mydomain.com" });
expect(createDomain.statusCode).toBe(200);
});
it("create with only name", async () => {
const domain = new Domain("mydomain.com");
nock("http://test.com")
.post("/domains", { name: "mydomain.com" })
.reply(200, { id: "dle1krod2jvn8gwm", name: "mydomain.com" }, { header1: "test" });
const createDomain = await domainModule.create(domain);
expect(createDomain.body).toMatchObject({ id: "dle1krod2jvn8gwm", name: "mydomain.com" });
expect(createDomain.statusCode).toBe(200);
});
it("list", async () => {
const params = { limit: 20, page: 2, verified: true };
nock("http://test.com").get("/domains").query(params).reply(200, { key1: "key1_value" }, { header1: "test" });
const getDomains = await domainModule.list(params);
expect(getDomains.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(getDomains.body).toMatchObject({ key1: "key1_value" });
expect(getDomains.statusCode).toBe(200);
});
it("recipients", async () => {
const params = { limit: 20, page: 2 };
nock("http://test.com")
.get("/domains/test_id/recipients")
.query(params)
.reply(200, { key1: "key1_value" }, { header1: "test" });
const getDomains = await domainModule.recipients("test_id", params);
expect(getDomains.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(getDomains.body).toMatchObject({ key1: "key1_value" });
expect(getDomains.statusCode).toBe(200);
});
it("single", async () => {
nock("http://test.com").get("/domains/test_id").reply(200, { key1: "key1_value" }, { header1: "test" });
const getDomain = await domainModule.single("test_id");
expect(getDomain.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(getDomain.body).toMatchObject({ key1: "key1_value" });
expect(getDomain.statusCode).toBe(200);
});
it("settings", async () => {
nock("http://test.com")
.put("/domains/test_id/settings", {
send_paused: true,
track_clicks: true,
track_unsubscribe_html: "<b>html here</b>",
})
.reply(200, { key1: "key1_value" }, { header1: "test" });
const updateSettings = await domainModule.updateSettings("test_id", {
send_paused: true,
track_clicks: true,
track_unsubscribe_html: "<b>html here</b>",
});
expect(updateSettings.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(updateSettings.body).toMatchObject({ key1: "key1_value" });
expect(updateSettings.statusCode).toBe(200);
});
it("settings with all remaining fields", async () => {
nock("http://test.com")
.put("/domains/test_id/settings", {
track_opens: true,
track_unsubscribe: true,
track_unsubscribe_plain: "Unsubscribe now",
track_unsubscribe_html_enabled: true,
track_unsubscribe_plain_enabled: true,
track_content: true,
custom_tracking_enabled: true,
custom_tracking_subdomain: "track_subdomain",
precedence_bulk: true,
ignore_duplicated_recipients: true,
})
.reply(200, { key1: "key1_value" }, { header1: "test" });
const updateSettings = await domainModule.updateSettings("test_id", {
track_opens: true,
track_unsubscribe: true,
track_unsubscribe_plain: "Unsubscribe now",
track_unsubscribe_html_enabled: true,
track_unsubscribe_plain_enabled: true,
track_content: true,
custom_tracking_enabled: true,
custom_tracking_subdomain: "track_subdomain",
precedence_bulk: true,
ignore_duplicated_recipients: true,
});
expect(updateSettings.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(updateSettings.body).toMatchObject({ key1: "key1_value" });
expect(updateSettings.statusCode).toBe(200);
});
it("delete", async () => {
nock("http://test.com").delete("/domains/test_id").reply(204);
const deleteDomain = await domainModule.delete("test_id");
expect(deleteDomain.statusCode).toBe(204);
});
it("dns", async () => {
nock("http://test.com").get("/domains/test_id/dns-records").reply(200, { key1: "dns" }, { header1: "dns-header" });
const getDNS = await domainModule.dns("test_id");
expect(getDNS.headers).toMatchObject({ header1: "dns-header", "content-type": "application/json" });
expect(getDNS.body).toMatchObject({ key1: "dns" });
expect(getDNS.statusCode).toBe(200);
});
it("verify", async () => {
nock("http://test.com").get("/domains/test_id/verify").reply(200, { key1: "verify" }, { header1: "verify-header" });
const verifyDomain = await domainModule.verify("test_id");
expect(verifyDomain.headers).toMatchObject({ header1: "verify-header", "content-type": "application/json" });
expect(verifyDomain.body).toMatchObject({ key1: "verify" });
expect(verifyDomain.statusCode).toBe(200);
});
});
================================================
FILE: src/__tests__/modules/Email.test.ts
================================================
import nock from "nock";
import { EmailModule } from "../../modules/Email.module";
import { EmailParams, Recipient, EmailWebhook, EmailWebhookEventType } from "../../models";
import { Attachment } from "../../models/email/Attachment";
import { ActivityModule } from "../../modules/email/Activity.module";
import { AnalyticsModule } from "../../modules/email/Analytics.module";
import { DomainModule } from "../../modules/email/Domain.module";
import { InboundModule } from "../../modules/email/Inbound.module";
import { MessageModule } from "../../modules/email/Message.module";
import { ScheduleModule } from "../../modules/email/Schedule.module";
import { RecipientModule } from "../../modules/email/Recipient.module";
import { TemplateModule } from "../../modules/email/Template.module";
import { EmailWebhookModule } from "../../modules/email/Webhook.module";
describe("Email Module", () => {
const emailModule = new EmailModule("test_key", "http://test.com");
it("Constructor", () => {
expect(emailModule.activity instanceof ActivityModule).toBe(true);
expect(emailModule.analytics instanceof AnalyticsModule).toBe(true);
expect(emailModule.domain instanceof DomainModule).toBe(true);
expect(emailModule.inbound instanceof InboundModule).toBe(true);
expect(emailModule.message instanceof MessageModule).toBe(true);
expect(emailModule.schedule instanceof ScheduleModule).toBe(true);
expect(emailModule.recipient instanceof RecipientModule).toBe(true);
expect(emailModule.template instanceof TemplateModule).toBe(true);
expect(emailModule.webhook instanceof EmailWebhookModule).toBe(true);
});
it("send email", async () => {
nock("http://test.com").post("/email").reply(202, { key1: "key1_value" }, { header1: "test" });
const emailParams = new EmailParams()
.setFrom({ email: "some@email.com" })
.setTo([new Recipient("some_recipient@mail.com")])
.setSubject("Some subject")
.setText("Some text")
.setHtml("Some html");
const sendEmail = await emailModule.send(emailParams);
expect(sendEmail.headers).toMatchObject({ header1: "test", "content-type": "application/json" });
expect(sendEmail.body).toMatchObject({ key1: "key1_value" });
expect(sendEmail.statusCode).toBe(202);
});
it("send email with personalization", async () => {
const personalization = [
{
email: "your@client.com",
data: {
test: {
number: 123434,
}
},
}
];
nock("http://test.com").post("/email").reply(202, { key1: "key1_value" }, { header1: "test" });
const emai
gitextract_ii8zs4um/ ├── .editorconfig ├── .github/ │ ├── CODEOWNERS │ └── workflows/ │ ├── publish.yaml │ └── test.yaml ├── .gitignore ├── LICENSE ├── README.md ├── examples/ │ ├── v1/ │ │ ├── activity/ │ │ │ ├── byCountry.js │ │ │ ├── byDate.js │ │ │ ├── byReadingEnvironment.js │ │ │ ├── byUserAgent.js │ │ │ └── list.js │ │ ├── domains/ │ │ │ ├── add.js │ │ │ ├── delete.js │ │ │ ├── dns.js │ │ │ ├── list.js │ │ │ ├── recipients.js │ │ │ ├── settings.js │ │ │ ├── single.js │ │ │ └── verify.js │ │ ├── email/ │ │ │ ├── advancedPersonalization.js │ │ │ ├── ccBccRecipients.js │ │ │ ├── getBulkEmailRequestStatus.js │ │ │ ├── sendAnEmail.js │ │ │ ├── sendBulkEmail.js │ │ │ ├── sendScheduleEmail.js │ │ │ ├── simplePersonalization.js │ │ │ ├── templatedEmail.js │ │ │ └── withAttachment.js │ │ ├── email-verification/ │ │ │ ├── create.js │ │ │ ├── list.js │ │ │ ├── results.js │ │ │ ├── single.js │ │ │ └── verify.js │ │ ├── inbounds/ │ │ │ ├── create.js │ │ │ ├── delete.js │ │ │ ├── list.js │ │ │ ├── single.js │ │ │ └── update.js │ │ ├── messages/ │ │ │ ├── list.js │ │ │ └── single.js │ │ ├── recipients/ │ │ │ ├── addRecipientsToBlocklist.js │ │ │ ├── addRecipientsToHardBounceList.js │ │ │ ├── addRecipientsToSpamComplaintList.js │ │ │ ├── addRecipientsToUnsubscribeList.js │ │ │ ├── delete.js │ │ │ ├── deleteRecipientsFromBlocklist.js │ │ │ ├── deleteRecipientsFromHardBounceList.js │ │ │ ├── deleteRecipientsFromSpamComplaintList.js │ │ │ ├── deleteRecipientsFromUnsubscribeList.js │ │ │ ├── getRecipientsFromBlocklist.js │ │ │ ├── getRecipientsFromHardBounceList.js │ │ │ ├── getRecipientsFromSpamComplaintList.js │ │ │ ├── getRecipientsFromUnsubscribeList.js │ │ │ ├── list.js │ │ │ └── single.js │ │ ├── scheduled/ │ │ │ ├── delete.js │ │ │ ├── list.js │ │ │ └── single.js │ │ ├── sms/ │ │ │ ├── activities/ │ │ │ │ ├── list.js │ │ │ │ └── single.js │ │ │ ├── inbounds/ │ │ │ │ ├── create.js │ │ │ │ ├── delete.js │ │ │ │ ├── list.js │ │ │ │ ├── single.js │ │ │ │ └── update.js │ │ │ ├── messages/ │ │ │ │ ├── list.js │ │ │ │ └── single.js │ │ │ ├── numbers/ │ │ │ │ ├── delete.js │ │ │ │ ├── list.js │ │ │ │ ├── single.js │ │ │ │ └── update.js │ │ │ ├── recipients/ │ │ │ │ ├── list.js │ │ │ │ ├── single.js │ │ │ │ └── update.js │ │ │ ├── sendAnSms.js │ │ │ ├── smsPersonalization.js │ │ │ └── webhooks/ │ │ │ ├── create.js │ │ │ ├── delete.js │ │ │ ├── list.js │ │ │ ├── single.js │ │ │ └── update.js │ │ ├── templates/ │ │ │ ├── delete.js │ │ │ ├── list.js │ │ │ └── single.js │ │ ├── tokens/ │ │ │ ├── createToken.js │ │ │ ├── deleteToken.js │ │ │ └── updateToken.js │ │ └── webhooks/ │ │ ├── create.js │ │ ├── delete.js │ │ ├── list.js │ │ ├── single.js │ │ └── update.js │ └── v2/ │ ├── email/ │ │ ├── activity/ │ │ │ └── list.js │ │ ├── advancedPersonalization.js │ │ ├── analytics/ │ │ │ ├── byCountry.js │ │ │ ├── byDate.js │ │ │ ├── byReadingEnvironment.js │ │ │ └── byUserAgent.js │ │ ├── ccBccRecipients.js │ │ ├── domains/ │ │ │ ├── add.js │ │ │ ├── delete.js │ │ │ ├── dns.js │ │ │ ├── list.js │ │ │ ├── recipients.js │ │ │ ├── settings.js │ │ │ ├── single.js │ │ │ └── verify.js │ │ ├── getBulkEmailRequestStatus.js │ │ ├── identities/ │ │ │ ├── create.js │ │ │ ├── delete.js │ │ │ ├── deleteByEmail.js │ │ │ ├── list.js │ │ │ ├── single.js │ │ │ ├── singleByEmail.js │ │ │ ├── update.js │ │ │ └── updateByEmail.js │ │ ├── inbounds/ │ │ │ ├── create.js │ │ │ ├── delete.js │ │ │ ├── list.js │ │ │ ├── single.js │ │ │ └── update.js │ │ ├── messages/ │ │ │ ├── list.js │ │ │ └── single.js │ │ ├── recipients/ │ │ │ ├── addRecipientsToBlocklist.js │ │ │ ├── addRecipientsToHardBounceList.js │ │ │ ├── addRecipientsToSpamComplaintList.js │ │ │ ├── addRecipientsToUnsubscribeList.js │ │ │ ├── delete.js │ │ │ ├── deleteAllBlocklistRecipients.js │ │ │ ├── deleteRecipientsFromBlocklist.js │ │ │ ├── deleteRecipientsFromHardBounceList.js │ │ │ ├── deleteRecipientsFromSpamComplaintList.js │ │ │ ├── deleteRecipientsFromUnsubscribeList.js │ │ │ ├── getRecipientsFromBlocklist.js │ │ │ ├── getRecipientsFromHardBounceList.js │ │ │ ├── getRecipientsFromSpamComplaintList.js │ │ │ ├── getRecipientsFromUnsubscribeList.js │ │ │ ├── list.js │ │ │ └── single.js │ │ ├── scheduled/ │ │ │ ├── delete.js │ │ │ ├── list.js │ │ │ └── single.js │ │ ├── sendAnEmail.js │ │ ├── sendBulkEmail.js │ │ ├── sendScheduleEmail.js │ │ ├── simplePersonalization.js │ │ ├── templatedEmail.js │ │ ├── templates/ │ │ │ ├── delete.js │ │ │ ├── list.js │ │ │ └── single.js │ │ ├── webhooks/ │ │ │ ├── create.js │ │ │ ├── delete.js │ │ │ ├── list.js │ │ │ ├── single.js │ │ │ └── update.js │ │ └── withAttachment.js │ ├── email-verification/ │ │ ├── create.js │ │ ├── list.js │ │ ├── results.js │ │ ├── single.js │ │ ├── verifyEmail.js │ │ └── verifyList.js │ ├── others/ │ │ └── getApiQuota.js │ ├── sms/ │ │ ├── activities/ │ │ │ ├── list.js │ │ │ └── single.js │ │ ├── inbounds/ │ │ │ ├── create.js │ │ │ ├── delete.js │ │ │ ├── list.js │ │ │ ├── single.js │ │ │ └── update.js │ │ ├── messages/ │ │ │ ├── list.js │ │ │ └── single.js │ │ ├── numbers/ │ │ │ ├── delete.js │ │ │ ├── list.js │ │ │ ├── single.js │ │ │ └── update.js │ │ ├── recipients/ │ │ │ ├── list.js │ │ │ ├── single.js │ │ │ └── update.js │ │ ├── sendAnSms.js │ │ ├── smsPersonalization.js │ │ └── webhooks/ │ │ ├── create.js │ │ ├── delete.js │ │ ├── list.js │ │ ├── single.js │ │ └── update.js │ └── tokens/ │ ├── createToken.js │ ├── deleteToken.js │ └── updateToken.js ├── jestconfig.json ├── package.json ├── renovate.json ├── src/ │ ├── __tests__/ │ │ ├── modules/ │ │ │ ├── Activity.test.ts │ │ │ ├── Analytics.test.ts │ │ │ ├── BlocklistMonitor.test.ts │ │ │ ├── Dmarc.test.ts │ │ │ ├── Domain.test.ts │ │ │ ├── Email.test.ts │ │ │ ├── EmailVerification.test.ts │ │ │ ├── Identity.test.ts │ │ │ ├── Inbound.test.ts │ │ │ ├── MailerSend.test.ts │ │ │ ├── Message.test.ts │ │ │ ├── Others.test.ts │ │ │ ├── Recipient.test.ts │ │ │ ├── SMS.test.ts │ │ │ ├── Schedule.test.ts │ │ │ ├── SmsActivity.test.ts │ │ │ ├── SmsInbound.test.ts │ │ │ ├── SmsMessage.test.ts │ │ │ ├── SmsNumber.test.ts │ │ │ ├── SmsRecipient.test.ts │ │ │ ├── SmsWebhook.test.ts │ │ │ ├── SmtpUser.test.ts │ │ │ ├── Template.test.ts │ │ │ ├── Token.test.ts │ │ │ ├── User.test.ts │ │ │ └── Webhook.test.ts │ │ └── services/ │ │ ├── mailersend.utils.test.ts │ │ └── request.test.ts │ ├── index.ts │ ├── models/ │ │ ├── BlocklistMonitor.ts │ │ ├── EmailVerification.ts │ │ ├── Pagination.ts │ │ ├── Token.ts │ │ ├── User.ts │ │ ├── email/ │ │ │ ├── Activity.ts │ │ │ ├── Analytics.ts │ │ │ ├── Attachment.ts │ │ │ ├── Dmarc.ts │ │ │ ├── Domain.ts │ │ │ ├── EmailParams.ts │ │ │ ├── EmailWebhook.ts │ │ │ ├── Identity.ts │ │ │ ├── Inbound.ts │ │ │ ├── Message.ts │ │ │ ├── Recipient.ts │ │ │ ├── Schedule.ts │ │ │ ├── Sender.ts │ │ │ ├── SmtpUser.ts │ │ │ └── Template.ts │ │ ├── index.ts │ │ └── sms/ │ │ ├── Activity.ts │ │ ├── Inbound.ts │ │ ├── Message.ts │ │ ├── Number.ts │ │ ├── Recipient.ts │ │ ├── SMSParams.ts │ │ ├── SMSPersonalization.ts │ │ └── Webhook.ts │ ├── modules/ │ │ ├── BlocklistMonitor.module.ts │ │ ├── Dmarc.module.ts │ │ ├── Email.module.ts │ │ ├── EmailVerification.module.ts │ │ ├── MailerSend.module.ts │ │ ├── Others.module.ts │ │ ├── SMS.module.ts │ │ ├── Token.module.ts │ │ ├── User.module.ts │ │ ├── email/ │ │ │ ├── Activity.module.ts │ │ │ ├── Analytics.module.ts │ │ │ ├── Domain.module.ts │ │ │ ├── Identity.module.ts │ │ │ ├── Inbound.module.ts │ │ │ ├── Message.module.ts │ │ │ ├── Recipient.module.ts │ │ │ ├── Schedule.module.ts │ │ │ ├── SmtpUser.module.ts │ │ │ ├── Template.module.ts │ │ │ └── Webhook.module.ts │ │ └── sms/ │ │ ├── Activity.module.ts │ │ ├── Inbound.module.ts │ │ ├── Message.module.ts │ │ ├── Number.module.ts │ │ ├── Recipient.module.ts │ │ └── Webhook.module.ts │ └── services/ │ ├── mailersend.utils.ts │ └── request.service.ts └── tsconfig.json
SYMBOL INDEX (361 symbols across 56 files)
FILE: src/models/BlocklistMonitor.ts
type BlocklistMonitorQueryParams (line 3) | interface BlocklistMonitorQueryParams extends Pagination {
class BlocklistMonitor (line 9) | class BlocklistMonitor {
method constructor (line 16) | constructor(address: string) {
method setAddress (line 20) | setAddress(address: string): BlocklistMonitor {
method setName (line 25) | setName(name: string): BlocklistMonitor {
method setNotify (line 30) | setNotify(notify: boolean): BlocklistMonitor {
method setNotifyEmail (line 35) | setNotifyEmail(notifyEmail: string): BlocklistMonitor {
method setNotifyAddress (line 40) | setNotifyAddress(notifyAddress: string): BlocklistMonitor {
type BlocklistMonitorUpdate (line 46) | interface BlocklistMonitorUpdate {
FILE: src/models/EmailVerification.ts
type EmailVerificationQueryParams (line 3) | interface EmailVerificationQueryParams extends Pagination {}
type EmailVerificationSingleQueryParams (line 4) | interface EmailVerificationSingleQueryParams {
type EmailVerificationResultQueryParams (line 9) | interface EmailVerificationResultQueryParams extends Pagination {
class EmailVerification (line 13) | class EmailVerification {
method constructor (line 19) | constructor(
method setName (line 27) | setName(name: string): EmailVerification {
method setEmails (line 32) | setEmails(emails: string[]): EmailVerification {
method setListId (line 37) | setListId(listId: string): EmailVerification {
method setVerify (line 42) | setVerify(verify: boolean): EmailVerification {
type EmailVerificationResultType (line 48) | enum EmailVerificationResultType {
FILE: src/models/Pagination.ts
type Pagination (line 1) | interface Pagination {
FILE: src/models/Token.ts
class Token (line 1) | class Token {
method constructor (line 6) | constructor(name: string, scopes: TokenScopeType[], domainId?: string) {
method setName (line 12) | setName(name: string): Token {
method setDomainId (line 17) | setDomainId(domainId: string): Token {
method setScopes (line 22) | setScopes(scopes: TokenScopeType[]): Token {
type TokenScopeType (line 28) | enum TokenScopeType {
type TokenUpdates (line 62) | interface TokenUpdates {
FILE: src/models/User.ts
type UserQueryParams (line 3) | interface UserQueryParams extends Pagination {}
type UserCreate (line 5) | interface UserCreate {
type UserUpdate (line 14) | interface UserUpdate {
type InviteQueryParams (line 22) | interface InviteQueryParams extends Pagination {}
type UserRole (line 24) | enum UserRole {
type UserPermission (line 32) | enum UserPermission {
FILE: src/models/email/Activity.ts
type ActivityQueryParams (line 3) | interface ActivityQueryParams extends Pagination {
type ActivityEventType (line 9) | enum ActivityEventType {
FILE: src/models/email/Analytics.ts
type AnalyticsOpensQueryParams (line 3) | interface AnalyticsOpensQueryParams {
type AnalyticsDateQueryParams (line 11) | interface AnalyticsDateQueryParams extends AnalyticsOpensQueryParams {
type AnalyticsGroupByType (line 16) | enum AnalyticsGroupByType {
FILE: src/models/email/Attachment.ts
class Attachment (line 1) | class Attachment {
method constructor (line 7) | constructor(content: string, fileName: string, disposition: 'inline' |...
FILE: src/models/email/Dmarc.ts
class Dmarc (line 3) | class Dmarc {
method constructor (line 6) | constructor(domainId: string) {
type DmarcQueryParams (line 11) | interface DmarcQueryParams extends Pagination {
type DmarcReportQueryParams (line 17) | interface DmarcReportQueryParams extends Pagination {
type DmarcReportSourcesQueryParams (line 25) | interface DmarcReportSourcesQueryParams {
type DmarcUpdate (line 31) | interface DmarcUpdate {
FILE: src/models/email/Domain.ts
class Domain (line 3) | class Domain {
method constructor (line 9) | constructor(
type DomainQueryParams (line 22) | interface DomainQueryParams extends Pagination {
type DomainRecipientsQueryParams (line 26) | interface DomainRecipientsQueryParams extends Pagination {}
type DomainSettings (line 28) | interface DomainSettings {
FILE: src/models/email/EmailParams.ts
class EmailParams (line 6) | class EmailParams {
method constructor (line 28) | constructor(config?: any) {
method setFrom (line 51) | setFrom(from: Sender): EmailParams {
method setTo (line 56) | setTo(to: Recipient[]): EmailParams {
method setCc (line 61) | setCc(cc: Recipient[]): EmailParams {
method setBcc (line 66) | setBcc(bcc: Recipient[]): EmailParams {
method setRcptTo (line 71) | setRcptTo(rcptTo: Recipient[]): EmailParams {
method setReplyTo (line 76) | setReplyTo(replyTo: Recipient): EmailParams {
method setInReplyTo (line 81) | setInReplyTo(inReplyTo: string): EmailParams {
method setSubject (line 86) | setSubject(subject: string): EmailParams {
method setText (line 91) | setText(text: string): EmailParams {
method setHtml (line 96) | setHtml(html: string): EmailParams {
method setSendAt (line 101) | setSendAt(sendAt: number | string): EmailParams {
method setAttachments (line 106) | setAttachments(attachments: Attachment[]): EmailParams {
method setTemplateId (line 111) | setTemplateId(id: string): EmailParams {
method setTags (line 116) | setTags(tags: string[]): EmailParams {
method setPersonalization (line 121) | setPersonalization(personalization: Personalization[]): EmailParams {
method setPrecedenceBulk (line 126) | setPrecedenceBulk(precedenceBulk: boolean): EmailParams {
method setSettings (line 131) | setSettings(settings: EmailSettings): EmailParams {
method setReferences (line 136) | setReferences(references: string[]): EmailParams {
method setHeaders (line 141) | setHeaders(headers: EmailHeader[]): EmailParams {
method setListUnsubscribe (line 146) | setListUnsubscribe(listUnsubscribe: string): EmailParams {
type EmailSettings (line 152) | interface EmailSettings {
type EmailHeader (line 158) | interface EmailHeader {
FILE: src/models/email/EmailWebhook.ts
class EmailWebhook (line 1) | class EmailWebhook {
method constructor (line 10) | constructor(config?: IEmailWebhook) {
method setUrl (line 22) | setUrl(url: string): EmailWebhook {
method setName (line 27) | setName(name: string): EmailWebhook {
method setEvents (line 32) | setEvents(events: any[]): EmailWebhook {
method setDomainId (line 41) | setDomainId(domainId: string): EmailWebhook {
method setEnabled (line 46) | setEnabled(enabled: boolean): EmailWebhook {
method setEditable (line 51) | setEditable(editable: boolean): EmailWebhook {
method setVersion (line 56) | setVersion(version: 1 | 2): EmailWebhook {
type EmailWebhookEventType (line 62) | enum EmailWebhookEventType {
type IEmailWebhook (line 87) | interface IEmailWebhook extends IEmailWebhookUpdate {
type IEmailWebhookUpdate (line 91) | interface IEmailWebhookUpdate {
type IEmailWebhookUpdateParams (line 100) | interface IEmailWebhookUpdateParams {
FILE: src/models/email/Identity.ts
class Identity (line 3) | class Identity {
method constructor (line 12) | constructor(
method setDomainId (line 30) | setDomainId(domainId: string): Identity {
method setEmail (line 35) | setEmail(email: string): Identity {
method setName (line 40) | setName(name: string): Identity {
method setPersonalNote (line 45) | setPersonalNote(personalNote: string): Identity {
method setReplyToName (line 50) | setReplyToName(replyToName: string): Identity {
method setReplyToEmail (line 55) | setReplyToEmail(replyToEmail: string): Identity {
method setAddNote (line 60) | setAddNote(addNote: boolean): Identity {
type IdentityQueryParams (line 66) | interface IdentityQueryParams extends Pagination {
type IdentityUpdate (line 73) | interface IdentityUpdate {
FILE: src/models/email/Inbound.ts
type InboundQueryParams (line 3) | interface InboundQueryParams extends Pagination {
class Inbound (line 7) | class Inbound {
method constructor (line 19) | constructor(
method setDomainId (line 39) | setDomainId(domainId: string): Inbound {
method setName (line 44) | setName(name: string): Inbound {
method setDomainEnabled (line 49) | setDomainEnabled(domainEnabled: boolean): Inbound {
method setInboundDomain (line 54) | setInboundDomain(inboundDomain: string): Inbound {
method setInboundPriority (line 59) | setInboundPriority(inboundPriority: number): Inbound {
method setForwards (line 64) | setForwards(forwards: InboundForward[]): Inbound {
method setMatchFilter (line 69) | setMatchFilter(matchFilter: MatchFilter): Inbound {
method setCatchFilter (line 74) | setCatchFilter(catchFilter: CatchFilter): Inbound {
class InboundUpdateParams (line 80) | class InboundUpdateParams {
method constructor (line 91) | constructor(
method setName (line 109) | setName(name: string): InboundUpdateParams {
method setDomainEnabled (line 114) | setDomainEnabled(domainEnabled: boolean): InboundUpdateParams {
method setInboundDomain (line 119) | setInboundDomain(inboundDomain: string): InboundUpdateParams {
method setInboundPriority (line 124) | setInboundPriority(inboundPriority: number): InboundUpdateParams {
method setForwards (line 129) | setForwards(forwards: InboundForward[]): InboundUpdateParams {
method setMatchFilter (line 134) | setMatchFilter(matchFilter: MatchFilter): InboundUpdateParams {
method setCatchFilter (line 139) | setCatchFilter(catchFilter: CatchFilter): InboundUpdateParams {
type InboundForward (line 145) | interface InboundForward {
type InboundFilterType (line 150) | enum InboundFilterType {
type ComparerType (line 159) | enum ComparerType {
type InboundFilter (line 170) | interface InboundFilter {
type MatchInboundFilter (line 175) | interface MatchInboundFilter extends InboundFilter {
type CatchFilter (line 179) | interface CatchFilter {
type MatchFilter (line 184) | interface MatchFilter {
FILE: src/models/email/Message.ts
type MessageQueryParams (line 3) | interface MessageQueryParams extends Pagination {}
FILE: src/models/email/Recipient.ts
class Recipient (line 4) | class Recipient extends Sender {
method constructor (line 5) | constructor(email: string, name?: string) {
type RecipientsQueryParams (line 9) | interface RecipientsQueryParams extends Pagination {
type BlockListQueryParams (line 13) | interface BlockListQueryParams extends Pagination {
type OnHoldListQueryParams (line 17) | interface OnHoldListQueryParams extends Pagination {
type BlockListRecipients (line 21) | interface BlockListRecipients {
type BlockListRecipientsPost (line 27) | interface BlockListRecipientsPost {
type BlockListType (line 32) | enum BlockListType {
FILE: src/models/email/Schedule.ts
type ScheduleQueryParams (line 3) | interface ScheduleQueryParams extends Pagination {
FILE: src/models/email/Sender.ts
class Sender (line 1) | class Sender {
method constructor (line 5) | constructor(email: string, name?: string) {
FILE: src/models/email/SmtpUser.ts
type SmtpUserParams (line 3) | interface SmtpUserParams {
type SmtpUserQueryParams (line 8) | interface SmtpUserQueryParams extends Pagination {}
FILE: src/models/email/Template.ts
type TemplateQueryParams (line 3) | interface TemplateQueryParams extends Pagination {
type TemplateParams (line 7) | interface TemplateParams {
type TemplateUpdateParams (line 17) | interface TemplateUpdateParams {
FILE: src/models/sms/Activity.ts
type SmsActivityQueryParams (line 3) | interface SmsActivityQueryParams extends Pagination {
type SmsActivityStatusType (line 10) | enum SmsActivityStatusType {
FILE: src/models/sms/Inbound.ts
type SmsInboundQueryParams (line 3) | interface SmsInboundQueryParams extends Pagination {
class SmsInbound (line 8) | class SmsInbound {
method constructor (line 15) | constructor(
method setSmsNumberId (line 29) | setSmsNumberId(smsNumberId: string): SmsInbound {
method setName (line 34) | setName(name: string): SmsInbound {
method setEnabled (line 39) | setEnabled(enabled: boolean): SmsInbound {
method setForwardUrl (line 44) | setForwardUrl(forward_url: string): SmsInbound {
method setFilter (line 49) | setFilter(filter: SmsInboundFilter): SmsInbound {
type SmsComparerType (line 55) | enum SmsComparerType {
type SmsInboundFilter (line 66) | interface SmsInboundFilter {
type SmsInboundUpdate (line 71) | interface SmsInboundUpdate {
FILE: src/models/sms/Message.ts
type SmsMessageQueryParams (line 3) | interface SmsMessageQueryParams extends Pagination {}
FILE: src/models/sms/Number.ts
type SmsNumberQueryParams (line 3) | interface SmsNumberQueryParams extends Pagination {
FILE: src/models/sms/Recipient.ts
type SmsRecipientQueryParams (line 3) | interface SmsRecipientQueryParams extends Pagination {
FILE: src/models/sms/SMSParams.ts
class SMSParams (line 3) | class SMSParams {
method constructor (line 9) | constructor(config?: any) {
method setFrom (line 18) | setFrom(from: string): SMSParams {
method setTo (line 23) | setTo(to: string[]): SMSParams {
method setText (line 28) | setText(text: string): SMSParams {
method setPersonalization (line 33) | setPersonalization(personalization: SMSPersonalization[]): SMSParams {
FILE: src/models/sms/SMSPersonalization.ts
class SMSPersonalization (line 1) | class SMSPersonalization {
method constructor (line 7) | constructor(phoneNumber: string, data: { [key: string]: string }) {
FILE: src/models/sms/Webhook.ts
type SmsWebhookQueryParams (line 1) | interface SmsWebhookQueryParams {
class SmsWebhook (line 7) | class SmsWebhook {
method constructor (line 14) | constructor(
method setUrl (line 28) | setUrl(url: string): SmsWebhook {
method setName (line 33) | setName(name: string): SmsWebhook {
method setEvents (line 38) | setEvents(events: SmsWebhookEventType[]): SmsWebhook {
method setSmsNumberId (line 43) | setSmsNumberId(smsNumberId: string): SmsWebhook {
method setEnabled (line 48) | setEnabled(enabled: boolean): SmsWebhook {
type SmsWebhookUpdate (line 54) | interface SmsWebhookUpdate {
type SmsWebhookEventType (line 61) | enum SmsWebhookEventType {
FILE: src/modules/BlocklistMonitor.module.ts
class BlocklistMonitorModule (line 4) | class BlocklistMonitorModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(queryParams?: BlocklistMonitorQueryParams): Promise<APIResp...
method single (line 13) | async single(monitorId: string): Promise<APIResponse> {
method create (line 17) | async create(data: BlocklistMonitor): Promise<APIResponse> {
method update (line 21) | async update(monitorId: string, data: BlocklistMonitorUpdate): Promise...
method delete (line 25) | async delete(monitorId: string): Promise<APIResponse> {
FILE: src/modules/Dmarc.module.ts
class DmarcModule (line 4) | class DmarcModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(queryParams?: DmarcQueryParams): Promise<APIResponse> {
method create (line 13) | async create(data: Dmarc): Promise<APIResponse> {
method update (line 17) | async update(monitorId: string, data: DmarcUpdate): Promise<APIRespons...
method delete (line 21) | async delete(monitorId: string): Promise<APIResponse> {
method report (line 25) | async report(monitorId: string, queryParams?: DmarcReportQueryParams):...
method reportByIp (line 29) | async reportByIp(monitorId: string, ip: string, queryParams?: DmarcRep...
method reportSources (line 33) | async reportSources(monitorId: string, queryParams: DmarcReportSources...
method addFavorite (line 37) | async addFavorite(monitorId: string, ip: string): Promise<APIResponse> {
method removeFavorite (line 41) | async removeFavorite(monitorId: string, ip: string): Promise<APIRespon...
FILE: src/modules/Email.module.ts
class EmailModule (line 16) | class EmailModule extends RequestService {
method constructor (line 29) | constructor(apiKey: string, baseUrl: string) {
method send (line 45) | async send(params: EmailParams): Promise<APIResponse> {
method sendBulk (line 49) | async sendBulk(params: EmailParams[]): Promise<APIResponse> {
method getBulkStatus (line 53) | async getBulkStatus(bulkId: string): Promise<APIResponse> {
type Personalization (line 58) | interface Personalization {
FILE: src/modules/EmailVerification.module.ts
class EmailVerificationModule (line 4) | class EmailVerificationModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(queryParams?: EmailVerificationQueryParams): Promise<APIRes...
method single (line 13) | async single(emailVerificationId: string, queryParams?: EmailVerificat...
method create (line 17) | async create(emailVerification: EmailVerification): Promise<APIRespons...
method verifyList (line 21) | async verifyList(emailVerificationId: string): Promise<APIResponse> {
method getListResult (line 25) | async getListResult(emailVerificationId: string, queryParams: EmailVer...
method verifyEmail (line 29) | async verifyEmail(email: string): Promise<APIResponse> {
method verifyEmailAsync (line 33) | async verifyEmailAsync(email: string): Promise<APIResponse> {
method getVerifyEmailAsyncStatus (line 37) | async getVerifyEmailAsyncStatus(id: string): Promise<APIResponse> {
FILE: src/modules/MailerSend.module.ts
class MailerSend (line 10) | class MailerSend {
method constructor (line 22) | constructor(config: MailerSendConfig) {
type MailerSendConfig (line 35) | interface MailerSendConfig {
FILE: src/modules/Others.module.ts
class OthersModule (line 3) | class OthersModule extends RequestService {
method constructor (line 4) | constructor(apiKey: string, baseUrl: string) {
method getApiQuota (line 8) | async getApiQuota(): Promise<APIResponse> {
FILE: src/modules/SMS.module.ts
class SMSModule (line 10) | class SMSModule extends RequestService {
method constructor (line 18) | constructor(apiKey: string, baseUrl: string) {
method send (line 29) | async send(params: SMSParams): Promise<APIResponse> {
FILE: src/modules/Token.module.ts
class TokenModule (line 4) | class TokenModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(params?: { page?: number; limit?: number }): Promise<APIRes...
method single (line 13) | async single(tokenId: string): Promise<APIResponse> {
method create (line 17) | async create(token: Token): Promise<APIResponse> {
method update (line 21) | async update(tokenId: string, data: { name?: string; status?: "pause" ...
method updateSettings (line 25) | async updateSettings(tokenId: string, updates: TokenUpdates): Promise<...
method delete (line 29) | async delete(tokenId: string): Promise<APIResponse> {
FILE: src/modules/User.module.ts
class UserModule (line 4) | class UserModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(queryParams?: UserQueryParams): Promise<APIResponse> {
method single (line 13) | async single(userId: string): Promise<APIResponse> {
method create (line 17) | async create(data: UserCreate): Promise<APIResponse> {
method update (line 21) | async update(userId: string, data: UserUpdate): Promise<APIResponse> {
method delete (line 25) | async delete(userId: string): Promise<APIResponse> {
method listInvites (line 29) | async listInvites(queryParams?: InviteQueryParams): Promise<APIRespons...
method singleInvite (line 33) | async singleInvite(inviteId: string): Promise<APIResponse> {
method resendInvite (line 37) | async resendInvite(inviteId: string): Promise<APIResponse> {
method deleteInvite (line 41) | async deleteInvite(inviteId: string): Promise<APIResponse> {
FILE: src/modules/email/Activity.module.ts
class ActivityModule (line 4) | class ActivityModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method domain (line 9) | async domain(domainId: string, queryParams?: ActivityQueryParams): Pro...
method single (line 13) | async single(activityId: string): Promise<APIResponse> {
FILE: src/modules/email/Analytics.module.ts
class AnalyticsModule (line 4) | class AnalyticsModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method byDate (line 9) | async byDate(queryParams: AnalyticsDateQueryParams): Promise<APIRespon...
method byCountry (line 13) | async byCountry(queryParams: AnalyticsOpensQueryParams): Promise<APIRe...
method byUserAgent (line 17) | async byUserAgent(queryParams: AnalyticsOpensQueryParams): Promise<API...
method byReadingEnvironment (line 21) | async byReadingEnvironment(queryParams: AnalyticsOpensQueryParams): Pr...
FILE: src/modules/email/Domain.module.ts
class DomainModule (line 4) | class DomainModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method create (line 9) | async create(domain: Domain) {
method list (line 13) | async list(queryParams?: DomainQueryParams): Promise<APIResponse> {
method single (line 17) | async single(domainId: string): Promise<APIResponse> {
method delete (line 21) | async delete(domainId: string): Promise<APIResponse> {
method updateSettings (line 25) | async updateSettings(domainId: string, data: DomainSettings): Promise<...
method recipients (line 29) | async recipients(domainId: string, queryParams?: DomainRecipientsQuery...
method dns (line 33) | async dns(domainId: string): Promise<APIResponse> {
method verify (line 37) | async verify(domainId: string): Promise<APIResponse> {
FILE: src/modules/email/Identity.module.ts
class IdentityModule (line 4) | class IdentityModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method create (line 9) | async create(identity: Identity) {
method list (line 13) | async list(queryParams?: IdentityQueryParams): Promise<APIResponse> {
method single (line 17) | async single(identityId: string): Promise<APIResponse> {
method singleByEmail (line 21) | async singleByEmail(email: string): Promise<APIResponse> {
method update (line 25) | async update(identityId: string, data: IdentityUpdate): Promise<APIRes...
method updateByEMail (line 29) | async updateByEMail(email: string, data: IdentityUpdate): Promise<APIR...
method delete (line 33) | async delete(identityId: string): Promise<APIResponse> {
method deleteByEmail (line 37) | async deleteByEmail(email: string): Promise<APIResponse> {
method resend (line 41) | async resend(identityId: string): Promise<APIResponse> {
FILE: src/modules/email/Inbound.module.ts
class InboundModule (line 4) | class InboundModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method create (line 9) | async create(inbound: Inbound) {
method list (line 13) | async list(queryParams?: InboundQueryParams): Promise<APIResponse> {
method single (line 17) | async single(inboundId: string): Promise<APIResponse> {
method delete (line 21) | async delete(inboundId: string): Promise<APIResponse> {
method update (line 25) | async update(inboundId: string, data: InboundUpdateParams): Promise<AP...
FILE: src/modules/email/Message.module.ts
class MessageModule (line 4) | class MessageModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(queryParams?: MessageQueryParams): Promise<APIResponse> {
method single (line 13) | async single(messageId: string): Promise<APIResponse> {
FILE: src/modules/email/Recipient.module.ts
constant MIN_LIMIT (line 4) | const MIN_LIMIT = 10;
constant MAX_LIMIT (line 5) | const MAX_LIMIT = 100;
class RecipientModule (line 7) | class RecipientModule extends RequestService {
method constructor (line 8) | constructor(apiKey: string, baseUrl: string) {
method list (line 12) | async list(queryParams?: RecipientsQueryParams): Promise<APIResponse> {
method single (line 16) | async single(recipientId: string): Promise<APIResponse> {
method delete (line 20) | async delete(recipientId: string): Promise<APIResponse> {
method blockList (line 26) | async blockList(queryParams?: BlockListQueryParams | OnHoldListQueryPa...
method blockRecipients (line 37) | async blockRecipients(blockRecipients: BlockListRecipients | BlockList...
method delBlockListRecipients (line 52) | async delBlockListRecipients(ids: string[], type: BlockListType = Bloc...
method delAllBlockListRecipients (line 56) | async delAllBlockListRecipients(type: BlockListType = BlockListType.BL...
FILE: src/modules/email/Schedule.module.ts
class ScheduleModule (line 4) | class ScheduleModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(queryParams?: ScheduleQueryParams): Promise<APIResponse> {
method single (line 13) | async single(messageId: string): Promise<APIResponse> {
method delete (line 17) | async delete(messageId: string): Promise<APIResponse> {
FILE: src/modules/email/SmtpUser.module.ts
class SmtpUserModule (line 4) | class SmtpUserModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(domainId: string, queryParams?: SmtpUserQueryParams): Promi...
method single (line 13) | async single(domainId: string, smtpUserId: string): Promise<APIRespons...
method create (line 17) | async create(domainId: string, data: SmtpUserParams): Promise<APIRespo...
method update (line 21) | async update(domainId: string, smtpUserId: string, data: Partial<SmtpU...
method delete (line 25) | async delete(domainId: string, smtpUserId: string): Promise<APIRespons...
FILE: src/modules/email/Template.module.ts
class TemplateModule (line 4) | class TemplateModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(queryParams?: TemplateQueryParams): Promise<APIResponse> {
method single (line 13) | async single(templateId: string): Promise<APIResponse> {
method delete (line 17) | async delete(templateId: string): Promise<APIResponse> {
method create (line 21) | async create(params: TemplateParams): Promise<APIResponse> {
method update (line 25) | async update(templateId: string, params: TemplateUpdateParams): Promis...
FILE: src/modules/email/Webhook.module.ts
class EmailWebhookModule (line 4) | class EmailWebhookModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method create (line 9) | async create(params: EmailWebhook): Promise<APIResponse> {
method list (line 13) | async list(domainId: string, queryParams?: { limit?: number; page?: nu...
method single (line 17) | async single(webhookId: string): Promise<APIResponse> {
method update (line 21) | async update(webhookId: string, updates: IEmailWebhookUpdateParams): P...
method delete (line 25) | async delete(webhookId: string): Promise<APIResponse> {
FILE: src/modules/sms/Activity.module.ts
class SmsActivityModule (line 4) | class SmsActivityModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(queryParams?: SmsActivityQueryParams): Promise<APIResponse> {
FILE: src/modules/sms/Inbound.module.ts
class SmsInboundModule (line 4) | class SmsInboundModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method create (line 9) | async create(smsInbound: SmsInbound) {
method list (line 13) | async list(queryParams?: SmsInboundQueryParams): Promise<APIResponse> {
method single (line 17) | async single(smsInboundId: string): Promise<APIResponse> {
method delete (line 21) | async delete(smsInboundId: string): Promise<APIResponse> {
method update (line 25) | async update(smsInboundId: string, data: SmsInboundUpdate): Promise<AP...
FILE: src/modules/sms/Message.module.ts
class SmsMessageModule (line 4) | class SmsMessageModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(queryParams?: SmsMessageQueryParams): Promise<APIResponse> {
method single (line 13) | async single(smsMessageId: string): Promise<APIResponse> {
FILE: src/modules/sms/Number.module.ts
class SmsNumberModule (line 4) | class SmsNumberModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(queryParams?: SmsNumberQueryParams): Promise<APIResponse> {
method single (line 13) | async single(smsNumberId: string): Promise<APIResponse> {
method update (line 17) | async update(smsNumberId: string, paused: boolean): Promise<APIRespons...
method delete (line 21) | async delete(smsNumberId: string): Promise<APIResponse> {
FILE: src/modules/sms/Recipient.module.ts
class SmsRecipientModule (line 4) | class SmsRecipientModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method list (line 9) | async list(queryParams?: SmsRecipientQueryParams): Promise<APIResponse> {
method single (line 13) | async single(smsRecipientId: string): Promise<APIResponse> {
method update (line 17) | async update(smsRecipientId: string, status: "active" | "opt_out"): Pr...
FILE: src/modules/sms/Webhook.module.ts
class SmsWebhookModule (line 4) | class SmsWebhookModule extends RequestService {
method constructor (line 5) | constructor(apiKey: string, baseUrl: string) {
method create (line 9) | async create(params: SmsWebhook): Promise<APIResponse> {
method list (line 13) | async list(queryParams: SmsWebhookQueryParams): Promise<APIResponse> {
method single (line 17) | async single(smsWebhookId: string): Promise<APIResponse> {
method update (line 21) | async update(smsWebhookId: string, data: SmsWebhookUpdate): Promise<AP...
method delete (line 25) | async delete(smsWebhookId: string): Promise<APIResponse> {
FILE: src/services/mailersend.utils.ts
class MailerSendUtils (line 3) | class MailerSendUtils {
method verifyWebHook (line 4) | static verifyWebHook(rawBody: Buffer, signature: string, signingSecret...
FILE: src/services/request.service.ts
class RequestService (line 5) | class RequestService {
method constructor (line 9) | constructor(apiKey: string, baseUrl: string) {
method normalizeHeaders (line 14) | private normalizeHeaders(headers: any): Record<string, string> {
method post (line 21) | protected async post<T>(path: string, data: T): Promise<APIResponse> {
method get (line 25) | protected async get(path: string, queryParams?: any): Promise<APIRespo...
method deleteReq (line 29) | protected async deleteReq<T>(path: string, data?: T): Promise<APIRespo...
method put (line 33) | protected async put(path: string, data: any): Promise<APIResponse> {
method request (line 37) | private async request(method: "POST" | "GET" | "DELETE" | "PUT", path:...
type APIResponse (line 69) | interface APIResponse {
Condensed preview — 280 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (359K chars).
[
{
"path": ".editorconfig",
"chars": 147,
"preview": "root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\nindent_style = space\nindent_size = 2\ntrim_"
},
{
"path": ".github/CODEOWNERS",
"chars": 37,
"preview": "* @mailersend/nodejs-sdk-maintainers\n"
},
{
"path": ".github/workflows/publish.yaml",
"chars": 359,
"preview": "name: NPM Publish\non:\n release:\n types: [created]\njobs:\n build:\n runs-on: ubuntu-24.04\n permissions:\n id"
},
{
"path": ".github/workflows/test.yaml",
"chars": 878,
"preview": "name: Tests\non:\n push:\n branches: [main]\n pull_request:\njobs:\n test:\n runs-on: ubuntu-24.04\n strategy:\n "
},
{
"path": ".gitignore",
"chars": 39,
"preview": "node_modules\n.env\n.DS_Store\n.idea\n/lib\n"
},
{
"path": "LICENSE",
"chars": 1066,
"preview": "MIT License\n\nCopyright (c) 2020 MailerSend\n\nPermission is hereby granted, free of charge, to any person obtaining a copy"
},
{
"path": "README.md",
"chars": 72653,
"preview": "<a href=\"https://www.mailersend.com\"><img src=\"https://www.mailersend.com/images/logo.svg\" width=\"200px\"/></a>\n\nMailerSe"
},
{
"path": "examples/v1/activity/byCountry.js",
"chars": 333,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/activity/byDate.js",
"chars": 349,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/activity/byReadingEnvironment.js",
"chars": 344,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/activity/byUserAgent.js",
"chars": 335,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/activity/list.js",
"chars": 301,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/domains/add.js",
"chars": 447,
"preview": "\"use strict\";\nrequire(\"dotenv\").config();\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new M"
},
{
"path": "examples/v1/domains/delete.js",
"chars": 300,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/domains/dns.js",
"chars": 315,
"preview": "\"use strict\";\nrequire(\"dotenv\").config();\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new M"
},
{
"path": "examples/v1/domains/list.js",
"chars": 279,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/domains/recipients.js",
"chars": 304,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/domains/settings.js",
"chars": 324,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/domains/single.js",
"chars": 294,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/domains/verify.js",
"chars": 321,
"preview": "\"use strict\";\nrequire(\"dotenv\").config();\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new M"
},
{
"path": "examples/v1/email/advancedPersonalization.js",
"chars": 824,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst Recipient = require(\"../../src/Recipient\");\nconst EmailParams = require("
},
{
"path": "examples/v1/email/ccBccRecipients.js",
"chars": 814,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst Recipient = require(\"../../src/Recipient\");\nconst EmailParams = require("
},
{
"path": "examples/v1/email/getBulkEmailRequestStatus.js",
"chars": 323,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/email/sendAnEmail.js",
"chars": 710,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst Recipient = require(\"../../src/Recipient\");\nconst EmailParams = require("
},
{
"path": "examples/v1/email/sendBulkEmail.js",
"chars": 877,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst Recipient = require(\"../../src/Recipient\");\nconst EmailParams = require("
},
{
"path": "examples/v1/email/sendScheduleEmail.js",
"chars": 798,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst Recipient = require(\"../../src/Recipient\");\nconst EmailParams = require("
},
{
"path": "examples/v1/email/simplePersonalization.js",
"chars": 912,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\n// const Recipient = require(\"../../src/Recipient\");\nconst EmailParams = requi"
},
{
"path": "examples/v1/email/templatedEmail.js",
"chars": 579,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst Recipient = require(\"../../src/Recipient\");\nconst EmailParams = require("
},
{
"path": "examples/v1/email/withAttachment.js",
"chars": 874,
"preview": "\"use strict\";\nrequire('dotenv').config()\nconst fs = require('fs');\n\nconst Recipient = require(\"../../src/Recipient\");\nco"
},
{
"path": "examples/v1/email-verification/create.js",
"chars": 394,
"preview": "\"use strict\";\nrequire(\"dotenv\").config();\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new M"
},
{
"path": "examples/v1/email-verification/list.js",
"chars": 291,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/email-verification/results.js",
"chars": 326,
"preview": "\"use strict\";\nrequire(\"dotenv\").config();\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new M"
},
{
"path": "examples/v1/email-verification/single.js",
"chars": 321,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/email-verification/verify.js",
"chars": 333,
"preview": "\"use strict\";\nrequire(\"dotenv\").config();\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new M"
},
{
"path": "examples/v1/inbounds/create.js",
"chars": 783,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/inbounds/delete.js",
"chars": 222,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/inbounds/list.js",
"chars": 277,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/inbounds/single.js",
"chars": 299,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/inbounds/update.js",
"chars": 804,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/messages/list.js",
"chars": 278,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/messages/single.js",
"chars": 296,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/addRecipientsToBlocklist.js",
"chars": 356,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/addRecipientsToHardBounceList.js",
"chars": 361,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/addRecipientsToSpamComplaintList.js",
"chars": 364,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/addRecipientsToUnsubscribeList.js",
"chars": 362,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/delete.js",
"chars": 223,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/deleteRecipientsFromBlocklist.js",
"chars": 265,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/deleteRecipientsFromHardBounceList.js",
"chars": 270,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/deleteRecipientsFromSpamComplaintList.js",
"chars": 273,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/deleteRecipientsFromUnsubscribeList.js",
"chars": 271,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/getRecipientsFromBlocklist.js",
"chars": 314,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/getRecipientsFromHardBounceList.js",
"chars": 319,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/getRecipientsFromSpamComplaintList.js",
"chars": 322,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/getRecipientsFromUnsubscribeList.js",
"chars": 320,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/list.js",
"chars": 280,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/recipients/single.js",
"chars": 300,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/scheduled/delete.js",
"chars": 223,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/scheduled/list.js",
"chars": 278,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/scheduled/single.js",
"chars": 300,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/activities/list.js",
"chars": 285,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/activities/single.js",
"chars": 310,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/inbounds/create.js",
"chars": 450,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/inbounds/delete.js",
"chars": 229,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/inbounds/list.js",
"chars": 283,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/inbounds/single.js",
"chars": 309,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/inbounds/update.js",
"chars": 451,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/messages/list.js",
"chars": 283,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/messages/single.js",
"chars": 309,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/numbers/delete.js",
"chars": 227,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/numbers/list.js",
"chars": 282,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/numbers/single.js",
"chars": 307,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/numbers/update.js",
"chars": 327,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/recipients/list.js",
"chars": 285,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/recipients/single.js",
"chars": 313,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/recipients/update.js",
"chars": 336,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/sendAnSms.js",
"chars": 398,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\nconst SmsParams = require("
},
{
"path": "examples/v1/sms/smsPersonalization.js",
"chars": 678,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\nconst SmsParams = require("
},
{
"path": "examples/v1/sms/webhooks/create.js",
"chars": 439,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/webhooks/delete.js",
"chars": 229,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/webhooks/list.js",
"chars": 322,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/webhooks/single.js",
"chars": 309,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/sms/webhooks/update.js",
"chars": 440,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../../src/MailerSend\");\n\nconst mailersend = new"
},
{
"path": "examples/v1/templates/delete.js",
"chars": 224,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/templates/list.js",
"chars": 273,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/templates/single.js",
"chars": 295,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/tokens/createToken.js",
"chars": 501,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/tokens/deleteToken.js",
"chars": 298,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/tokens/updateToken.js",
"chars": 317,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/webhooks/create.js",
"chars": 384,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/webhooks/delete.js",
"chars": 219,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/webhooks/list.js",
"chars": 300,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/webhooks/single.js",
"chars": 296,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v1/webhooks/update.js",
"chars": 322,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\n\nconst mailersend = new Ma"
},
{
"path": "examples/v2/email/activity/list.js",
"chars": 540,
"preview": "import 'dotenv/config';\nimport { MailerSend, ActivityEventType } from \"mailersend\";\n\nconst mailerSend = new MailerSend({"
},
{
"path": "examples/v2/email/advancedPersonalization.js",
"chars": 748,
"preview": "import 'dotenv/config';\nimport { MailerSend, EmailParams, Sender, Recipient } from \"mailersend\";\n\nconst mailerSend = new"
},
{
"path": "examples/v2/email/analytics/byCountry.js",
"chars": 328,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/analytics/byDate.js",
"chars": 408,
"preview": "import 'dotenv/config';\nimport { ActivityEventType, MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({"
},
{
"path": "examples/v2/email/analytics/byReadingEnvironment.js",
"chars": 339,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/analytics/byUserAgent.js",
"chars": 330,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/ccBccRecipients.js",
"chars": 739,
"preview": "import 'dotenv/config';\nimport { MailerSend, EmailParams, Sender, Recipient } from \"mailersend\";\n\nconst mailerSend = new"
},
{
"path": "examples/v2/email/domains/add.js",
"chars": 461,
"preview": "import 'dotenv/config';\nimport { MailerSend, Domain } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: "
},
{
"path": "examples/v2/email/domains/delete.js",
"chars": 278,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/domains/dns.js",
"chars": 275,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/domains/list.js",
"chars": 265,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/domains/recipients.js",
"chars": 310,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/domains/settings.js",
"chars": 629,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/domains/single.js",
"chars": 278,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/domains/verify.js",
"chars": 278,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/getBulkEmailRequestStatus.js",
"chars": 294,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/identities/create.js",
"chars": 512,
"preview": "import 'dotenv/config';\nimport { MailerSend, Identity } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey"
},
{
"path": "examples/v2/email/identities/delete.js",
"chars": 284,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/identities/deleteByEmail.js",
"chars": 293,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/identities/list.js",
"chars": 267,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/identities/single.js",
"chars": 282,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/identities/singleByEmail.js",
"chars": 291,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/identities/update.js",
"chars": 530,
"preview": "import 'dotenv/config';\nimport { MailerSend, Inbound, InboundFilterType } from \"mailersend\";\n\nconst mailerSend = new Mai"
},
{
"path": "examples/v2/email/identities/updateByEmail.js",
"chars": 540,
"preview": "import 'dotenv/config';\nimport { MailerSend, Inbound, InboundFilterType } from \"mailersend\";\n\nconst mailerSend = new Mai"
},
{
"path": "examples/v2/email/inbounds/create.js",
"chars": 563,
"preview": "import 'dotenv/config';\nimport { MailerSend, Inbound, InboundFilterType } from \"mailersend\";\n\nconst mailerSend = new Mai"
},
{
"path": "examples/v2/email/inbounds/delete.js",
"chars": 282,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/inbounds/list.js",
"chars": 266,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/inbounds/single.js",
"chars": 280,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/inbounds/update.js",
"chars": 553,
"preview": "import 'dotenv/config';\nimport { MailerSend, Inbound, InboundFilterType } from \"mailersend\";\n\nconst mailerSend = new Mai"
},
{
"path": "examples/v2/email/messages/list.js",
"chars": 266,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/messages/single.js",
"chars": 279,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/recipients/addRecipientsToBlocklist.js",
"chars": 392,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n a"
},
{
"path": "examples/v2/email/recipients/addRecipientsToHardBounceList.js",
"chars": 399,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n a"
},
{
"path": "examples/v2/email/recipients/addRecipientsToSpamComplaintList.js",
"chars": 402,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n a"
},
{
"path": "examples/v2/email/recipients/addRecipientsToUnsubscribeList.js",
"chars": 399,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n a"
},
{
"path": "examples/v2/email/recipients/delete.js",
"chars": 283,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/recipients/deleteAllBlocklistRecipients.js",
"chars": 328,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n a"
},
{
"path": "examples/v2/email/recipients/deleteRecipientsFromBlocklist.js",
"chars": 365,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n a"
},
{
"path": "examples/v2/email/recipients/deleteRecipientsFromHardBounceList.js",
"chars": 372,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n a"
},
{
"path": "examples/v2/email/recipients/deleteRecipientsFromSpamComplaintList.js",
"chars": 375,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n a"
},
{
"path": "examples/v2/email/recipients/deleteRecipientsFromUnsubscribeList.js",
"chars": 372,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n a"
},
{
"path": "examples/v2/email/recipients/getRecipientsFromBlocklist.js",
"chars": 346,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n ap"
},
{
"path": "examples/v2/email/recipients/getRecipientsFromHardBounceList.js",
"chars": 354,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n a"
},
{
"path": "examples/v2/email/recipients/getRecipientsFromSpamComplaintList.js",
"chars": 356,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n ap"
},
{
"path": "examples/v2/email/recipients/getRecipientsFromUnsubscribeList.js",
"chars": 353,
"preview": "import 'dotenv/config';\nimport { BlockListType, MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n ap"
},
{
"path": "examples/v2/email/recipients/list.js",
"chars": 310,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email/recipients/single.js",
"chars": 283,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/scheduled/delete.js",
"chars": 280,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/scheduled/list.js",
"chars": 266,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/scheduled/single.js",
"chars": 280,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/sendAnEmail.js",
"chars": 588,
"preview": "import 'dotenv/config';\nimport { MailerSend, EmailParams, Sender, Recipient } from \"mailersend\";\n\nconst mailerSend = new"
},
{
"path": "examples/v2/email/sendBulkEmail.js",
"chars": 896,
"preview": "import 'dotenv/config';\nimport { MailerSend, EmailParams, Sender, Recipient } from \"mailersend\";\n\nconst mailerSend = new"
},
{
"path": "examples/v2/email/sendScheduleEmail.js",
"chars": 759,
"preview": "import 'dotenv/config';\nimport { MailerSend, EmailParams, Sender, Recipient } from \"mailersend\";\n\nconst mailerSend = new"
},
{
"path": "examples/v2/email/simplePersonalization.js",
"chars": 769,
"preview": "import 'dotenv/config';\nimport { MailerSend, EmailParams, Sender, Recipient } from \"mailersend\";\n\nconst mailerSend = new"
},
{
"path": "examples/v2/email/templatedEmail.js",
"chars": 524,
"preview": "import 'dotenv/config';\nimport { MailerSend, EmailParams, Sender, Recipient } from \"mailersend\";\n\nconst mailerSend = new"
},
{
"path": "examples/v2/email/templates/delete.js",
"chars": 279,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/templates/list.js",
"chars": 296,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/templates/single.js",
"chars": 279,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/webhooks/create.js",
"chars": 540,
"preview": "import 'dotenv/config';\nimport { EmailWebhook, EmailWebhookEventType, MailerSend } from \"mailersend\";\n\nconst mailerSend "
},
{
"path": "examples/v2/email/webhooks/delete.js",
"chars": 279,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/webhooks/list.js",
"chars": 276,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/webhooks/single.js",
"chars": 279,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/email/webhooks/update.js",
"chars": 496,
"preview": "import 'dotenv/config';\nimport { EmailWebhook, EmailWebhookEventType, MailerSend } from \"mailersend\";\n\nconst mailerSend "
},
{
"path": "examples/v2/email/withAttachment.js",
"chars": 798,
"preview": "import 'dotenv/config';\nimport fs from \"fs\";\nimport { MailerSend, EmailParams, Sender, Recipient, Attachment } from \"mai"
},
{
"path": "examples/v2/email-verification/create.js",
"chars": 460,
"preview": "import 'dotenv/config';\nimport { EmailVerification, MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({"
},
{
"path": "examples/v2/email-verification/list.js",
"chars": 296,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email-verification/results.js",
"chars": 449,
"preview": "import 'dotenv/config';\nimport { EmailVerificationResultType, MailerSend } from \"mailersend\";\n\nconst mailerSend = new Ma"
},
{
"path": "examples/v2/email-verification/single.js",
"chars": 295,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email-verification/verifyEmail.js",
"chars": 296,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/email-verification/verifyList.js",
"chars": 299,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/others/getApiQuota.js",
"chars": 266,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/activities/list.js",
"chars": 417,
"preview": "import 'dotenv/config';\nimport { MailerSend, SmsActivityStatusType } from \"mailersend\";\n\nconst mailerSend = new MailerSe"
},
{
"path": "examples/v2/sms/activities/single.js",
"chars": 283,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/inbounds/create.js",
"chars": 507,
"preview": "import 'dotenv/config';\nimport { MailerSend, SmsInbound } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiK"
},
{
"path": "examples/v2/sms/inbounds/delete.js",
"chars": 282,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/inbounds/list.js",
"chars": 339,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/inbounds/single.js",
"chars": 282,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/inbounds/update.js",
"chars": 537,
"preview": "import 'dotenv/config';\nimport { MailerSend, SmsInbound } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiK"
},
{
"path": "examples/v2/sms/messages/list.js",
"chars": 290,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/messages/single.js",
"chars": 282,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/numbers/delete.js",
"chars": 280,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/numbers/list.js",
"chars": 306,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/numbers/single.js",
"chars": 280,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/numbers/update.js",
"chars": 286,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/recipients/list.js",
"chars": 347,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/recipients/single.js",
"chars": 286,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/recipients/update.js",
"chars": 347,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/sendAnSms.js",
"chars": 398,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\nconst SmsParams = require("
},
{
"path": "examples/v2/sms/smsPersonalization.js",
"chars": 678,
"preview": "\"use strict\";\nrequire('dotenv').config()\n\nconst MailerSend = require(\"../../src/MailerSend\");\nconst SmsParams = require("
},
{
"path": "examples/v2/sms/webhooks/create.js",
"chars": 538,
"preview": "import 'dotenv/config';\nimport { MailerSend, SmsWebhook, SmsWebhookEventType } from \"mailersend\";\n\nconst mailerSend = ne"
},
{
"path": "examples/v2/sms/webhooks/delete.js",
"chars": 282,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/webhooks/list.js",
"chars": 279,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/webhooks/single.js",
"chars": 282,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/sms/webhooks/update.js",
"chars": 414,
"preview": "import 'dotenv/config';\nimport { MailerSend } from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process."
},
{
"path": "examples/v2/tokens/createToken.js",
"chars": 535,
"preview": "import 'dotenv/config';\nimport { MailerSend, Token} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: pr"
},
{
"path": "examples/v2/tokens/deleteToken.js",
"chars": 269,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "examples/v2/tokens/updateToken.js",
"chars": 301,
"preview": "import 'dotenv/config';\nimport { MailerSend} from \"mailersend\";\n\nconst mailerSend = new MailerSend({\n apiKey: process.e"
},
{
"path": "jestconfig.json",
"chars": 269,
"preview": "{\n \"transform\": {\n \"^.+\\\\.(t|j)sx?$\": \"ts-jest\"\n },\n \"testRegex\": \"(/__tests__/.*|(\\\\.|/)(test|spec))\\\\.(j"
},
{
"path": "package.json",
"chars": 1360,
"preview": "{\n \"name\": \"mailersend\",\n \"version\": \"3.0.0\",\n \"description\": \"Node.js helper module for MailerSend API\",\n \"main\": \""
},
{
"path": "renovate.json",
"chars": 60,
"preview": "{\n \"extends\": [\"github>mailerlite/renovate-config:base\"]\n}\n"
},
{
"path": "src/__tests__/modules/Activity.test.ts",
"chars": 2022,
"preview": "import nock from \"nock\";\nimport { ActivityModule } from \"../../modules/email/Activity.module\";\nimport { ActivityEventTyp"
},
{
"path": "src/__tests__/modules/Analytics.test.ts",
"chars": 4334,
"preview": "import nock from \"nock\";\nimport { AnalyticsModule } from \"../../modules/email/Analytics.module\";\nimport { ActivityEventT"
},
{
"path": "src/__tests__/modules/BlocklistMonitor.test.ts",
"chars": 4323,
"preview": "import nock from \"nock\";\nimport { BlocklistMonitorModule } from \"../../modules/BlocklistMonitor.module\";\nimport { Blockl"
},
{
"path": "src/__tests__/modules/Dmarc.test.ts",
"chars": 5661,
"preview": "import nock from \"nock\";\nimport { DmarcModule } from \"../../modules/Dmarc.module\";\nimport { Dmarc } from \"../../models\";"
},
{
"path": "src/__tests__/modules/Domain.test.ts",
"chars": 6029,
"preview": "import nock from \"nock\";\nimport { DomainModule } from \"../../modules/email/Domain.module\";\nimport { Domain } from \"../.."
},
{
"path": "src/__tests__/modules/Email.test.ts",
"chars": 14312,
"preview": "import nock from \"nock\";\nimport { EmailModule } from \"../../modules/Email.module\";\nimport { EmailParams, Recipient, Emai"
},
{
"path": "src/__tests__/modules/EmailVerification.test.ts",
"chars": 6533,
"preview": "import nock from \"nock\";\nimport { EmailVerification, EmailVerificationResultType } from \"../../models\";\nimport { EmailVe"
}
]
// ... and 80 more files (download for full content)
About this extraction
This page contains the full source code of the mailersend/mailersend-nodejs GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 280 files (315.5 KB), approximately 92.1k tokens, and a symbol index with 361 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.