Registry /
messaging / nodemailer-sequelize-queue
Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
NodemailerSequelizeQueue
✓ import NodemailerSequelizeQueue from 'nodemailer-sequelize-queue'
✗ const { NodemailerSequelizeQueue } = require('nodemailer-sequelize-queue')
Default export (ESM). CommonJS destructuring will yield undefined.
NodemailerSequelizeQueue
✓ const NodemailerSequelizeQueue = require('nodemailer-sequelize-queue').default
✗ const NodemailerSequelizeQueue = require('nodemailer-sequelize-queue')
In CommonJS, use .default to get the constructor.
NodemailerSequelizeQueue
✓ import NodemailerSequelizeQueue from 'nodemailer-sequelize-queue'
✗ import { NodemailerSequelizeQueue } from 'nodemailer-sequelize-queue'
Named import will fail; it's a default export.
Initializes the queue with database and SMTP credentials, starts the cron scheduler, and queues an email.
import NodemailerSequelizeQueue from 'nodemailer-sequelize-queue';
const dbCredentials = {
config: {
username: process.env.DB_USER ?? '',
password: process.env.DB_PASS ?? '',
database: process.env.DB_NAME ?? '',
host: process.env.DB_HOST ?? 'localhost',
dialect: 'mysql',
},
};
const smtpCreds = {
host: process.env.SMTP_HOST ?? 'smtp.example.com',
port: Number(process.env.SMTP_PORT) || 465,
};
const queue = new NodemailerSequelizeQueue(dbCredentials, smtpCreds, {
expression: '*/5 * * * *',
maxAttempts: 3,
});
queue.initScheduler();
queue.queueMail({
email_from: 'sender@example.com',
email_to: 'recipient@example.com',
subject: 'Test',
html: '<p>Hello</p>',
});
Errors
Common errors & fixes
TypeError: NodemailerSequelizeQueue is not a constructor
Using CommonJS require() without .default.
fixUse const NodemailerSequelizeQueue = require('nodemailer-sequelize-queue').default; SequelizeConnectionError: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Outdated MySQL client or missing authentication plugin.
fixInstall mysql2: npm install mysql2 and set dialect: 'mysql2' in config.
Error: Cannot find module 'mysql2'
Missing dialect driver.
fixInstall the appropriate driver: npm install mysql2 (for MySQL).
TypeError: queue.initScheduler is not a function
Using wrong import (e.g., named import instead of default).
fixUse import NodemailerSequelizeQueue from 'nodemailer-sequelize-queue'.
Audit
Dependencies
nodemailerrequiredCore email sending engine.
sequelizerequiredORM for database queue storage; dialect modules must be installed separately.
node-cronrequiredScheduler for cron-based mail processing.