
Research
wget to Wipeout: Malicious Go Modules Fetch Destructive Payload
Socket's research uncovers three dangerous Go modules that contain obfuscated disk-wiping malware, threatening complete data loss.
mailer-send-ts
Advanced tools
npm install mailer-send-ts --S
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
import { MailerSend, EmailParams, Sender, Recipient } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const sentFrom = new Sender("your@domain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setSubject("Your subject")
.setText("Hello world!")
.setHtml("<b>Hello world!</b>");
const response = await mailerSend.email.send(emailParams);
import { MailerSend, EmailParams, Sender, Recipient } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const sentFrom = new Sender("your@domain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const recipientsCC = [
new Recipient("your_cc@client.com", "Your CC Client")
];
const recipientsBcc = [
new Recipient("your_bcc@client.com", "Your BCC Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setCc(recipientsCC)
.setBcc(recipientsBcc)
.setSubject("Your subject")
.setText("Hello world!")
.setHtml("<b>Hello world!</b>");
const response = await mailerSend.email.send(emailParams);
import { MailerSend, EmailParams, Sender, Recipient } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const sentFrom = new Sender("your@domain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setSubject("Your subject")
.setTemplateId("your_template_id");
const response = await mailerSend.email.send(emailParams);
import { MailerSend, EmailParams, Sender, Recipient } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const sentFrom = new Sender("your@domain.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)
.setSubject("Subject, {{ test }}")
.setText("This is the text content, {{ test }}")
.setHtml("This is the HTML content, {{ test }}");
const response = await mailerSend.email.send(emailParams);
import { MailerSend, EmailParams, Sender, Recipient } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const sentFrom = new Sender("your@domain.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)
.setSubject("Subject, {$test}")
.setHtml("This is the HTML content, {$test}")
.setText("This is the text content, {$test}");
const response = await mailerSend.email.send(emailParams);
const fs = require('fs');
import { MailerSend, EmailParams, Sender, Recipient, Attachment } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const sentFrom = new Sender("your@domain.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')
]
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setSubject("Subject")
.setHtml("This is the HTML content")
.setText("This is the text content")
.setAttachments(attachments);
mailerSend.email.send(emailParams);
import { MailerSend, EmailParams, Sender, Recipient } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const bulkEmails: EmailParams[] = [];
const sentFrom = new Sender("your@domain.com", "Your name");
const recipients = [
new Recipient("your@client.com", "Your Client")
];
const emailParams = new EmailParams()
.setFrom(sentFrom)
.setTo(recipients)
.setSubject("Your subject")
.setText("Hello world!")
.setHtml("<b>Hello world!</b>");
bulkEmails.push(emailParams);
const sentFrom2 = new Sender("your@domain.com", "Your name");
const recipients2 = [
new Recipient("your@client.com", "Your Client")
];
const emailParams2 = new EmailParams()
.setFrom(sentFrom2)
.setTo(recipients2)
.setSubject("Your subject")
.setText("Hello world2!")
.setHtml("<b>Hello world2!</b>");
bulkEmails.push(emailParams2);
const response = await mailerSend.email.sendBulk(bulkEmails);
import { MailerSend, EmailParams, Sender, Recipient } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const response = await mailerSend.email.getBulkStatus("bulk_id_here");
import { MailerSend, EmailWebhook, EmailWebhookEventType } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const params = new EmailWebhook()
.setUrl("https://test.com/webhook")
.setName("Webhook Name")
.setEvents([EmailWebhookEventType.SENT, EmailWebhookEventType.OPENED])
.setDomainId("test_domain")
.setEnabled(true);
const response = await mailerSend.email.createWebhook(params);
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const response = await mailerSend.email.listWebhook("domain_id_here");
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const response = await mailerSend.email.getWebhook("webhook_id_here");
import { MailerSend, IEmailWebhookUpdate, EmailWebhookEventType } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const updates: Partial<IEmailWebhookUpdate> = {
enabled: true,
url: "https://new-url.com/webhook",
name: "New name",
events: [EmailWebhookEventType.CLICKED]
}
const response = await mailerSend.email.updateWebhook("webhook_id_here", updates);
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const response = await mailerSend.email.deleteWebhook("webhook_id_here");
import { ActivityEventType, ActivityQueryParams, MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const queryParams: ActivityQueryParams = {
limit: 10, // Default 25.Min 10, Max 50
page: 2,
date_from: 1443651141, // Format: 1443651141
date_to: 1443651141, // Format: 1443651141
event: [ActivityEventType.SENT, ActivityEventType.SOFT_BOUNCED, ...]
}
// Query params are not required
const activities = await mailerSend.activity.domain("your_domain_id", queryParams);
import { MailerSend, MessageQueryParams } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const queryParams: MessageQueryParams = {
limit: 10, // Default 25.Min 10, Max 50
page: 2
}
// Query params are not required
const messages = await mailerSend.message.list(queryParams);
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const message = await mailerSend.message.single("your_message_id");
import { MailerSend, Domain } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const domain = new Domain("mydomain.com", "rp_subdomain", "ct_subdomain", "ir_subdomain");
const response = await mailerSend.domain.create(domain);
import { MailerSend, DomainQueryParams } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const queryParams: DomainQueryParams = {
limit: 10, // Default 25.Min 10, Max 50
page: 2,
verified: true // Not required
}
// Query params are not required
const domains = await mailerSend.domain.list(queryParams);
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const domain = await mailerSend.domain.single("your_domain_id");
import { MailerSend, DomainRecipientsQueryParams } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const queryParams: DomainRecipientsQueryParams = {
limit: 10, // Default 25.Min 10, Max 50
page: 2
}
// Query params are not required
const recipients = await mailerSend.domain.recipients("your_domain_id", queryParams);
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const response = await mailerSend.domain.delete("your_domain_id");
import { MailerSend, DomainSettings } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const domainUpdates: DomainSettings = {
send_paused: true,
track_clicks: true,
track_opens: true,
track_unsubscribe: true,
track_unsubscribe_html: "<p>Click here to <a href=\"{$unsubscribe}\">unsubscribe<\/a><\/p>",
track_unsubscribe_plain: "Click here to unsubscribe: {$unsubscribe}",
track_content: true,
custom_tracking_enabled: true,
custom_tracking_subdomain: "email"
}
const response = await mailerSend.domain.updateSettings("your_domain_id", domainUpdates);
import { MailerSend, DomainSettings } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const dns = await mailerSend.domain.dns("your_domain_id");
import { MailerSend, DomainSettings } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const dns = await mailerSend.domain.dns("your_domain_id");
import { MailerSend, RecipientsQueryParams } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const queryParams: RecipientsQueryParams = {
limit: 10, // Default 25.Min 10, Max 50
page: 2,
domain_id: "your_domain_id" // not required
}
// Query params are not required
const recipients = await mailerSend.recipient.list(queryParams);
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const recipient = await mailerSend.recipient.single("your_recipient_id");
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const response = await mailerSend.recipient.delete("your_recipient_id");
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const queryParams: RecipientsQueryParams = {
limit: 10, // Default 25.Min 10, Max 50
page: 2,
domain_id: "your_domain_id" // not required
}
// Query params are not required
const blockList = await mailerSend.recipient.blockList(queryParams);
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const recipient: BlockListRecipient = {
domain_id: "83gwk2j7zqz1nxyd", // not required
recipients: ["test@example.com"], // If patterns is not defined, this property is required.
patterns: [".*@example.com"] // If recipients is not defined, this property is required.
};
const blocked = await mailerSend.recipient.blockRecipient(recipient);
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
// To delete specific entries
const ids = ["60f198790542d97fb66dfe52", "60f198790542d97fb66dfe53"]
const removed = await mailerSend.recipient.delBlockListRecipients(ids);
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const removed = await mailerSend.recipient.delAllBlockListRecipients();
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const queryParams: RecipientsQueryParams = {
limit: 10, // Default 25.Min 10, Max 50
page: 2,
domain_id: "your_domain_id" // not required
};
// Query params are not required
const hardBounceList = await mailerSend.recipient.hardBounceList(queryParams);
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const queryParams: RecipientsQueryParams = {
limit: 10, // Default 25.Min 10, Max 50
page: 2,
domain_id: "your_domain_id" // not required
};
// Query params are not required
const response = await mailerSend.recipient.spamComplaintsList(queryParams);
import { MailerSend } from "mailer-send-ts";
const queryParams: RecipientsQueryParams = {
limit: 10, // Default 25.Min 10, Max 50
page: 2,
domain_id: "your_domain_id" // not required
};
const response = await mailerSend.recipient.unsubscribesList(queryParams);
import { MailerSend, Token, TokenScopeType } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const token = new Token("token_name", "domain_id", [TokenScopeType.EMAIL_FULL, TokenScopeType.WEBHOOKS_FULL, ...scopes])
const response = await mailerSend.token.create(token);
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const response = await mailerSend.token.updateSettings("your_token_id", { status: "pause" });
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const response = await mailerSend.token.delete("your_token_id");
import { MailerSend } from "mailer-send-ts";
const mailerSend = new MailerSend({ apiKey: "your_api_key_here" });
const personalization: SMSPersonalization[] = [];
personalization.push(new SMSPersonalization("+19191234567", { name: "Dummy" }));
personalization.push(new SMSPersonalization("+19199876543", { name: "Not Dummy" }));
const params = new SMSParams()
.setFrom("+19191234567")
.setTo([
"+19191234567",
"+19199876543"
])
.setText("Hey {{name}}! This is just a friendly hello :D")
.setPersonalization(personalization);
const response = mailerSend.sms.send(params);
import { MailerUtils } from "mailer-send-ts";
MailerUtils.verifyWebHook(rawBody, signature, signinSecret);
rawBody - request rawBody (not json)
Note! If you are using express with body parser, check here
how to extract rawBody
signature - webhook signature found in request's header - signature
signinSecret - signing secret is a random string that is generated when you create a webhook
FAQs
Typescript package for MailerSend
The npm package mailer-send-ts receives a total of 137 weekly downloads. As such, mailer-send-ts popularity was classified as not popular.
We found that mailer-send-ts demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket's research uncovers three dangerous Go modules that contain obfuscated disk-wiping malware, threatening complete data loss.
Research
Socket uncovers malicious packages on PyPI using Gmail's SMTP protocol for command and control (C2) to exfiltrate data and execute commands.
Product
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.