Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@danielres/smtp-mini-dev-server

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@danielres/smtp-mini-dev-server

This provides a very basic, non-secure SMTP server to use in development, test and staging environments.

  • 1.4.5
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

SMTP mini dev server

This provides a very basic, non-secure SMTP server to use in development, test and staging environments.

Do not use this in production!

Persistance is ephemeral, in-memory only.

I find this to be a convenient replacement for tools like etherreal, mailcatcher and similar.

Features

  • Simple, fast, lightweight.
  • Convenient for e2e testing (Cypress, puppeteer, ...).
  • Allows developers, testers, product managers to inspect sent emails, but guarantees no development/test/staging emails ever get sent to real recipients.
  • Faster than using third-party services.

Installation

npm install --save-dev @danielres/smtp-mini-dev-server
or
yarn add -D @danielres/smtp-mini-dev-server

Usage

node_modules/.bin/smtp-dev
or
yarn smtp-dev
starts the SMTP server on port 2500 and the api server on port 2501.

Ports can be changed through environment variables:

Example:
DEV_SMTP_PORT=1234 DEV_SMTP_API_PORT=1235 yarn smtp-dev

Example usage with nodemailer (in non-production environments)

const config = {
  host: "localhost",
  port: 2500,
  secure: false,
  auth: {
    user: "username", // username and password don't matter, any are accepted
    pass: "password"
  }
};

const transport = nodemailer.createTransport(config);

const sendMessage = () => {
  const message = {
    from: "noreply@example.com",
    to: "...",
    subject: "...",
    text: "...",
    html: "<p>...</p>"
  };

  return new Promise((resolve, reject) => {
    transport.sendMail(message, (error, info, response) => {
      if (error) return reject(error);
      const url = `http://localhost:2501/${info.messageId}/html`;
      console.log({ url });
      resolve({ info, response, url });
    });
  });
};

sendMessage()

The url of the email message will appear in your terminal output (console.log({ url })).

You can now:

  • visit http://localhost:2501 for a list of all received messages.
  • visit http://localhost:2501/<MESSAGE_ID> for all data related to a paticular message.
  • view only specific data for a message:
    • http://localhost:2501/<MESSAGE_ID>/html
    • http://localhost:2501/<MESSAGE_ID>/text
    • ...

Screenshots

image

image

image

Keywords

FAQs

Package last updated on 03 May 2020

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc