2.5.0 • Published 1 week ago
@norvento/persistent-mail
Licence
ISC
Version
2.5.0
Deps
7
Size
57 kB
Vulns
23
Weekly
0
Persistent Mail
Mail sender with disk persistency. It uses microsoft graph api to send the mails.
Config
You have two options to configure the library:
From environment variables:
The following environment variables must be declared:
AZURE_CLIENT_ID
AZURE_TENANT_ID
AZURE_CLIENT_SECRET
MAIL_USERNAME
MAIL_PASSWORD
MAIL_STORE_PATH
MAIL_CRON
From config object
A config object with the following properties must be provided:
{
azureClientId: string,
azureTenantId: string,
azureClientSecret: string
username: string,
password: string,
storePath: string,
cron: string
}
Recipients
The to, cc and bcc fields accept a single address, a comma separated string, or an array of addresses:
const mail = new Mail("to@domain.com, to2@domain.com", "subject", "body", undefined, undefined, undefined, "cc@domain.com", ["bcc1@domain.com", "bcc2@domain.com"]);
The constructor signature is:
new Mail(to, subject, text?, html?, importance?, attachments?, cc?, bcc?)
Example with config from environment vars
The vars where previously defined in a .env file located at the root level
const { Mail, PersistentMail } = require("@norvento/persistent-mail");
const mail = new Mail('to', 'subject', 'body');
async function sendMail() {
await PersistentMail.init();
PersistentMail.sendMail(mail);
}
sendMail();
##Example with config from config object
const { Mail, PersistentMail } = require("@norvento/persistent-mail");
const mail = new Mail('to', 'subject', 'body');
const myConfig = {
azureClientId: "my azure client id,
azureTenantId: "my azure tenant id",
azureClientSecret: "my azure client secret",
username: "username",
password: "password",
storePath: "/tmp/persisten-mail",
cron: "*/1 * * * *"
}
async function sendMail() {
await PersistentMail.init(myConfig);
PersistentMail.sendMail(mail);
}
sendMail();