smtp-connection-as-promised

smtp-connection as promised

Usage no npm install needed!

<script type="module">
  import smtpConnectionAsPromised from 'https://cdn.skypack.dev/smtp-connection-as-promised';
</script>

README

smtp-connection-as-promised

Build Status Coverage Status npm

This module provides promisified version of smtp-connection from nodemailer module. The API is the same as for smtp-connection, except that all methods return Promise objects.

Requirements

This module requires Node >= 6.

Installation

npm install smtp-connection-as-promised

Additionally for Typescript:

npm install @types/node @types/nodemailer

Usage

const {SMTPConnectionAsPromised} = require("smtp-connection-as-promised")

Typescript:

import SMTPConnectionAsPromised from "smtp-connection-as-promised"
// or
import {SMTPConnectionAsPromised} from "smtp-connection-as-promised"

constructor

const connection = new SMTPConnectionAsPromised(options)

Create new SMTPConnection instance. Options are the same as for original smtp-connection constructor.

Example:

const connection = new SMTPConnectionAsPromised({
  opportunisticTLS: true,
  host: "smtp.example.com",
  port: 25,
})

ended

const isEnded = connection.ended

It is true if connection is already ended.

secure

const isSecure = connection.secure

It is true if connection uses TLS.

connect

await connection.connect()
console.log(connection.secure)

Establish the connection and set the secure property.

login

await connection.login(auth)

Login to the server if requires authentication.

auth is the authentication object with user, pass and xoauth2 properties.

Example:

await connection.login({
  user: "from@example.com",
  pass: "secret",
})

send

const info = await connection.send(envelope, message)

Send a message with an envelope. The info object is returned in a Promise.

Example:

const envelope = {
  from: "from@example.com",
  to: "to@example.net",
}

// prettier-ignore
const message =
  '' +
  'From: from@example.com\n' +
  'To: to@example.net\n' +
  'Subject: test\n' +
  '\n' +
  'Test\n'

const info = await connection.send(envelope, message)
console.log(info.response)

quit

await connection.quit()

Graceful SMTP session ending. The QUIT command is sent.

close

await connection.close()

Disconnecting of SMTP session.

reset

await connection.reset()

Reseting the SMTP session. The RSET command is set.

destroy

await connection.destroy()

Manually free resources taken by connection.

License

Copyright (c) 2016-2019 Piotr Roszatycki piotr.roszatycki@gmail.com

MIT