mail-time
Advanced tools
Comparing version 1.0.6 to 1.1.0
{ | ||
"name": "mail-time", | ||
"version": "1.0.6", | ||
"version": "1.1.0", | ||
"description": "Bulletproof email queue on top of NodeMailer with support of multiple clusters and servers setup", | ||
@@ -49,4 +49,4 @@ "main": "index.js", | ||
"dependencies": { | ||
"deepmerge": "^3.2.0", | ||
"josk": "^2.0.5" | ||
"deepmerge": "^3.2.1", | ||
"josk": "^2.1.0" | ||
}, | ||
@@ -58,5 +58,6 @@ "devDependencies": { | ||
"mocha": "^6.0.2", | ||
"mongodb": "^3.1.13", | ||
"nodemailer": "^6.1.1" | ||
"mongodb": "^3.2.7", | ||
"nodemailer": "^6.1.1", | ||
"nodemailer-direct-transport": "^3.3.2" | ||
} | ||
} |
# MailTime | ||
<a href="https://www.patreon.com/bePatron?u=20396046"> | ||
<img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" width="160"> | ||
</a> | ||
Micro-service package for mail queue, with *Server* and *Client* API. | ||
@@ -19,2 +23,4 @@ Build on top of [`nodemailer`](https://github.com/nodemailer/nodemailer) package. | ||
- [Installation](https://github.com/VeliovGroup/Mail-Time#installation) | ||
- [Install](https://github.com/VeliovGroup/Meteor-Mailer#installation--import-via-npm) as [NPM Package](https://www.npmjs.com/package/mail-time) | ||
- [Install](https://github.com/VeliovGroup/Meteor-Mailer#installation--import-via-atmosphere) as [Atmosphere package](https://atmospherejs.com/ostrio/mailer) | ||
- [Usage example](https://github.com/VeliovGroup/Mail-Time#basic-usage) | ||
@@ -35,3 +41,3 @@ - [API](https://github.com/VeliovGroup/Mail-Time#api) | ||
## How it works?: | ||
## How does it work?: | ||
@@ -138,2 +144,30 @@ ### Single point of failure | ||
## Installation & Import (*via NPM*): | ||
Install NPM *MailTime* package: | ||
```shell | ||
meteor npm install --save mail-time | ||
``` | ||
ES6 Import: | ||
```js | ||
import MailTime from 'mail-time'; | ||
``` | ||
## Installation & Import (*via Atmosphere*): | ||
Install Atmosphere *ostrio:mailer* package: | ||
```shell | ||
meteor add ostrio:mailer | ||
``` | ||
ES6 Import: | ||
```js | ||
import MailTime from 'meteor/ostrio:mailer'; | ||
``` | ||
## Basic usage | ||
@@ -325,2 +359,8 @@ | ||
1. Clone this package | ||
2. In Terminal (*Console*) go to directory where package is cloned | ||
3. Then run: | ||
Test NPM package: | ||
```shell | ||
@@ -332,3 +372,3 @@ # Before run tests make sure NODE_ENV === development | ||
# Before run tests you need to have running MongoDB | ||
MONGO_URL="mongodb://127.0.0.1:27017/testCollectionName" npm test | ||
MONGO_URL="mongodb://127.0.0.1:27017/npm-mail-time-test-001" npm test | ||
@@ -338,6 +378,20 @@ # Be patient, tests are taking around 2 mins | ||
Test Atmosphere (meteor.js) package: | ||
```shell | ||
# Default | ||
meteor test-packages ./ --driver-package=meteortesting:mocha | ||
# With custom port | ||
meteor test-packages ./ --driver-package=meteortesting:mocha --port 8888 | ||
# With local MongoDB and custom port | ||
MONGO_URL="mongodb://127.0.0.1:27017/meteor-mail-time-test-001" meteor test-packages ./ --driver-package=meteortesting:mocha --port 8888 | ||
# Be patient, tests are taking around 2 mins | ||
``` | ||
## Support this project: | ||
This project wouldn't be possible without [ostr.io](https://ostr.io). | ||
Using [ostr.io](https://ostr.io) you are not only [protecting domain names](https://ostr.io/info/domain-names-protection), [monitoring websites and servers](https://ostr.io/info/monitoring), using [Prerendering for better SEO](https://ostr.io/info/prerendering) of your JavaScript website, but support our Open Source activity, and great packages like this one could be available for free. | ||
- [Become a patron](https://www.patreon.com/bePatron?u=20396046) — support my open source contributions with monthly donation | ||
- 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 |
@@ -5,10 +5,12 @@ if (!process.env.MONGO_URL) { | ||
const MailTime = require('mail-time'); | ||
const nodemailer = require('nodemailer'); | ||
const MongoClient = require('mongodb').MongoClient; | ||
const mongoAddr = (process.env.MONGO_URL || ''); | ||
const dbName = mongoAddr.split('/').pop().replace(/\/$/, ''); | ||
const transports = []; | ||
const DEBUG = false; | ||
const MailTime = require('mail-time'); | ||
const nodemailer = require('nodemailer'); | ||
const MongoClient = require('mongodb').MongoClient; | ||
const directTransport = require('nodemailer-direct-transport'); | ||
const mongoAddr = (process.env.MONGO_URL || ''); | ||
const dbName = mongoAddr.split('/').pop().replace(/\/$/, ''); | ||
const transports = []; | ||
const DEBUG = false; | ||
const { assert } = require('chai'); | ||
@@ -38,3 +40,3 @@ const { it, describe } = require('mocha'); | ||
transports.push(nodemailer.createTransport({ | ||
transports.push(nodemailer.createTransport(directTransport({ | ||
pool: false, | ||
@@ -48,3 +50,3 @@ direct: true, | ||
socketTimeout: 45000 | ||
})); | ||
}))); | ||
@@ -51,0 +53,0 @@ const mailQueue = new MailTime({ |
54892
691
392
7
Updateddeepmerge@^3.2.1
Updatedjosk@^2.1.0