README
smtp-connection-as-promised
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