mxmail

0.5.8 • Public • Published

Mxmail

Send mail directly to mail exchange servers or SMTP. Based on nodemailer.

Installation

npm i mxmail

Usage

const mxmail = require('mxmail')

// If config is defined, mx lookup is skipped
const config = {
  host: 'smtp.ethereal.email',
  port: 587,
  auth: {
    user: 'virginia.cassin10@ethereal.email',
    pass: '1md9Xes49Nbfka6aFw'
  }
}
const mailer = mxmail(config)

// Set up mail
const mail = {
  from: '"Fred Foo 👻" <foo@example.com>',
  to: 'bar@example.com, baz@example.com',
  subject: 'Hello ✔',
  text: 'Are you ready?',
  html: '<b>Are you ready?</b>'
}

// Will lookup mx records automatically for each email in 'to'
const result = await mailer(mail)

If you need a valid message ID, there is a generator function included:

// Using the hostname of your computer
const id = mxmail.id()

// Using the domain you pass
const id = mxmail.id('example.com')

// Will return similar to:
// <223d0b02-e987-2647-e30c-b71070a587ce@example.com>

Command line

Install the command line interface with:

npm i -g mxmail

Add a settings file in ~/.mxmail.json:

{
  "from": "vidar@example.com",
  "config": {
    "host": "smtp.ethereal.email",
    "port": 587,
    "auth": {
      "user": "virginia.cassin10@ethereal.email",
      "pass": "1md9Xes49Nbfka6aFw"
    }
  },
  "aliases": {
    "@sp": "suong@example.com"
  }
}

Send email like this from the command line (terminal):

mx suong@example.com subject "This is the message"

Replace with aliases like this:

mx @sp subject "This is the message"

Send file attachments like this:

mx @ve "File" "Check this" ~/file.jpg

Using zsh alias:

alias file='mx @ve "" ""'
file ~/file.jpg

MIT Licensed. Enjoy!

Readme

Keywords

none

Package Sidebar

Install

npm i mxmail

Weekly Downloads

2

Version

0.5.8

License

MIT

Unpacked Size

6.54 kB

Total Files

5

Last publish

Collaborators

  • eldoy