Socket
Socket
Sign inDemoInstall

mail-time

Package Overview
Dependencies
2
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.2.5 to 1.2.6

2

CHANGELOG.md

@@ -1,1 +0,1 @@

For full changelog see [releases](https://github.com/VeliovGroup/Mail-Time/releases) in GitHub
For full changelog see [releases](https://github.com/veliovgroup/Mail-Time/releases) in GitHub

@@ -1,1 +0,1 @@

For full history see [releases](https://github.com/VeliovGroup/Mail-Time/releases) in GitHub
For full history see [releases](https://github.com/veliovgroup/Mail-Time/releases) in GitHub

@@ -20,8 +20,2 @@ const JoSk = require('josk');

const defaultWriteConcern = {
w: 1,
j: true,
wtimeout: 10240
};
let equals;

@@ -312,2 +306,3 @@ equals = (a, b) => {

ready();
cursor.close();
_logError('[___send] [count] [countError]', countError);

@@ -328,3 +323,3 @@ return;

}
}, defaultWriteConcern, (updateError) => {
}, (updateError) => {
if (count === ++finished) {

@@ -370,3 +365,3 @@ ready();

} else {
this.collection.deleteOne({ _id: task._id }, defaultWriteConcern, () => {
this.collection.deleteOne({ _id: task._id }, () => {
this.___triggerCallbacks(void 0, task, info);

@@ -385,2 +380,3 @@ });

}, (forEachError) => {
cursor.close();
if (forEachError) {

@@ -392,2 +388,3 @@ _logError('[___send] [forEach] [forEachError]', forEachError);

ready();
cursor.close();
}

@@ -394,0 +391,0 @@ });

{
"name": "mail-time",
"version": "1.2.5",
"version": "1.2.6",
"description": "Bulletproof email queue on top of NodeMailer with support of multiple clusters and servers setup",

@@ -39,8 +39,8 @@ "main": "index.js",

"type": "git",
"url": "git://github.com/VeliovGroup/Mail-Time.git"
"url": "git://github.com/veliovgroup/Mail-Time.git"
},
"bugs": {
"url": "https://github.com/VeliovGroup/Mail-Time/issues"
"url": "https://github.com/veliovgroup/Mail-Time/issues"
},
"homepage": "https://github.com/VeliovGroup/Mail-Time",
"homepage": "https://github.com/veliovgroup/Mail-Time",
"author": "dr.dimitru (https://veliovgroup.com)",

@@ -53,13 +53,13 @@ "license": "BSD-3-Clause",

"deepmerge": "^4.2.2",
"josk": "^2.3.0"
"josk": "^2.4.0"
},
"devDependencies": {
"bson": "^4.1.0",
"bson": "^4.2.2",
"bson-ext": "^2.0.5",
"chai": "^4.2.0",
"mocha": "^8.1.3",
"mongodb": "^3.6.2",
"nodemailer": "^6.4.11",
"chai": "^4.3.0",
"mocha": "^8.2.1",
"mongodb": "^3.6.4",
"nodemailer": "^6.4.17",
"nodemailer-direct-transport": "^3.3.2"
}
}

@@ -0,1 +1,2 @@

[![support](https://img.shields.io/badge/support-GitHub-white)](https://github.com/sponsors/dr-dimitru)
[![support](https://img.shields.io/badge/support-PayPal-white)](https://paypal.me/veliovgroup)

@@ -18,17 +19,17 @@ <a href="https://ostr.io/info/built-by-developers-for-developers">

- [How it works?](https://github.com/VeliovGroup/Mail-Time#how-it-works)
- [With single SMTP](https://github.com/VeliovGroup/Mail-Time#single-point-of-failure)
- [With multiple SMTP](https://github.com/VeliovGroup/Mail-Time#multiple-smtp-providers)
- [As Micro-Service](https://github.com/VeliovGroup/Mail-Time#cluster-issue)
- [Features](https://github.com/VeliovGroup/Mail-Time#features)
- [Installation](https://github.com/VeliovGroup/Mail-Time#installation)
- [Meteor.js Installation](https://github.com/VeliovGroup/Mail-Time#installation--import-via-npm): as [NPM Package](https://www.npmjs.com/package/mail-time)
- [Meteor.js Installation](https://github.com/VeliovGroup/Mail-Time#installation--import-via-atmosphere): as [Atmosphere package](https://atmospherejs.com/ostrio/mailer)
- [Usage example](https://github.com/VeliovGroup/Mail-Time#basic-usage)
- [API](https://github.com/VeliovGroup/Mail-Time#api)
- [*Constructor*](https://github.com/VeliovGroup/Mail-Time#new-mailtimeopts-constructor)
- [`.send()`](https://github.com/VeliovGroup/Mail-Time#sendmailopts--callback)
- [Default Template](https://github.com/VeliovGroup/Mail-Time#static-mailtimetemplate)
- [Custom Templates](https://github.com/VeliovGroup/Mail-Time#template-example)
- [~92% tests coverage](https://github.com/VeliovGroup/Mail-Time#testing)
- [How it works?](https://github.com/veliovgroup/Mail-Time#how-it-works)
- [With single SMTP](https://github.com/veliovgroup/Mail-Time#single-point-of-failure)
- [With multiple SMTP](https://github.com/veliovgroup/Mail-Time#multiple-smtp-providers)
- [As Micro-Service](https://github.com/veliovgroup/Mail-Time#cluster-issue)
- [Features](https://github.com/veliovgroup/Mail-Time#features)
- [Installation](https://github.com/veliovgroup/Mail-Time#installation)
- [Meteor.js Installation](https://github.com/veliovgroup/Mail-Time#installation--import-via-npm): as [NPM Package](https://www.npmjs.com/package/mail-time)
- [Meteor.js Installation](https://github.com/veliovgroup/Mail-Time#installation--import-via-atmosphere): as [Atmosphere package](https://atmospherejs.com/ostrio/mailer)
- [Usage example](https://github.com/veliovgroup/Mail-Time#basic-usage)
- [API](https://github.com/veliovgroup/Mail-Time#api)
- [*Constructor*](https://github.com/veliovgroup/Mail-Time#new-mailtimeopts-constructor)
- [`.send()`](https://github.com/veliovgroup/Mail-Time#sendmailopts--callback)
- [Default Template](https://github.com/veliovgroup/Mail-Time#static-mailtimetemplate)
- [Custom Templates](https://github.com/veliovgroup/Mail-Time#template-example)
- [~92% tests coverage](https://github.com/veliovgroup/Mail-Time#testing)

@@ -42,4 +43,6 @@ ## Main features:

## How does it work?:
## How does it work?
Redundant solution for email transmission.
### Single point of failure

@@ -121,4 +124,4 @@

- Support for multiple server setups - "Cluster", Phusion Passenger instances, Load Balanced solutions, etc.
- Emails concatenation by addressee email - Reduce amount of sent email to single user with concatenation, and avoid mistakenly doubled emails
- When concatenation is enabled - Same emails wouldn't be sent twice, if for any reason, due to bad logic or application failure emails is sent twice or more times - here is solution to solve this annoying behavior
- Emails concatenation by addressee email - Reduce amount of sent emails to a single user with concatenation, and avoid mistakenly doubled emails
- When concatenation is enabled - Same emails won't be sent twice, if for any reason, due to bad logic or application failure emails are sent twice or more times - this is solution to solve this annoying behavior
- Balancing for multiple nodemailer's transports, two modes - `backup` and `balancing`. Most useful feature - allows to reduce the cost of SMTP services and add durability. So, if any of used transports are failing to send an email it will switch to next one

@@ -353,3 +356,3 @@ - Sending retries for network and other failures

- `opts.interval` {*Number*} - [Optional] Interval in *seconds* between send re-tries, default - `60`
- `opts.zombieTime` {*Number*} - [Optional] Time in *milliseconds*, after this period - pending email will be interpreted as "*zombie*". This parameter allows to rescue pending email from "*zombie* mode" in case when: server was rebooted, exception during runtime was thrown, or caused by bad logic, default - `32786`. This option is used by package itself and passed directly to [`JoSk` package](https://github.com/VeliovGroup/josk#api)
- `opts.zombieTime` {*Number*} - [Optional] Time in *milliseconds*, after this period - pending email will be interpreted as "*zombie*". This parameter allows to rescue pending email from "*zombie* mode" in case when: server was rebooted, exception during runtime was thrown, or caused by bad logic, default - `32786`. This option is used by package itself and passed directly to [`JoSk` package](https://github.com/veliovgroup/josk#api)
- `opts.keepHistory` {*Boolean*} - [Optional] By default sent emails not stored in the database. Set `{ keepHistory: true }` to keep queue task as it is in the database, default - `false`

@@ -361,4 +364,4 @@ - `opts.concatEmails` {*Boolean*} - [Optional] Concatenate email by `to` field, default - `false`

- `opts.revolvingInterval` {*Number*} - [Optional] Interval in *milliseconds* in between queue checks, default - `256`. Recommended value — between `opts.minRevolvingDelay` and `opts.maxRevolvingDelay`
- `opts.minRevolvingDelay` {*Number*} - [Optional] Minimum revolving delay — the minimum delay between tasks executions in *milliseconds*, default - `64`. This option is passed directly to [`JoSk` package](https://github.com/VeliovGroup/josk#api)
- `opts.maxRevolvingDelay` {*Number*} - [Optional] Maximum revolving delay — the maximum delay between tasks executions in *milliseconds*, default - `256`. This option is passed directly to [`JoSk` package](https://github.com/VeliovGroup/josk#api)
- `opts.minRevolvingDelay` {*Number*} - [Optional] Minimum revolving delay — the minimum delay between tasks executions in *milliseconds*, default - `64`. This option is passed directly to [`JoSk` package](https://github.com/veliovgroup/josk#api)
- `opts.maxRevolvingDelay` {*Number*} - [Optional] Maximum revolving delay — the maximum delay between tasks executions in *milliseconds*, default - `256`. This option is passed directly to [`JoSk` package](https://github.com/veliovgroup/josk#api)
- `opts.template` {*String*} - [Optional] Mustache-like template, default - `{{{html}}}`, all options passed to `sendMail` is available in Template, like `to`, `subject`, `text`, `html` or any other custom option. Use `{{opt}}` for string placeholders and `{{{opt}}}` for html placeholders

@@ -378,3 +381,3 @@

Simple and bulletproof HTML template, see its [source](https://github.com/VeliovGroup/Mail-Time/blob/master/template.html). Usage:
Simple and bulletproof HTML template, see its [source](https://github.com/veliovgroup/Mail-Time/blob/master/template.html). Usage:

@@ -447,3 +450,4 @@ ```js

- [Support via PayPal](https://paypal.me/veliovgroup) — support my open source contributions once or on regular basis
- [Sponsor via GitHub](https://github.com/sponsors/dr-dimitru) — support open source contributions on a regular basis
- [Support via PayPal](https://paypal.me/veliovgroup) — support open source contributions once
- Use [ostr.io](https://ostr.io) — [Monitoring](https://snmp-monitoring.com), [Analytics](https://ostr.io/info/web-analytics), [WebSec](https://domain-protection.info), [Web-CRON](https://web-cron.info) and [Pre-rendering](https://prerendering.com) for a website

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc