Get unlimited public & private packages + package-based permissions with npm Pro.Get started »

ndmail

0.2.1 • Public • Published

NdMail

Just a simple NodeJS email utility using imap and nodemailer.

Installation

  • Using npm npm install ndmail --save
  • Using yarn yarn add ndmail

API

  • NdMail(opts)

Constructor for NdMail that have 2 property imap and smtp. property imap will be passed to imap library, and smtp will be passed to nodemailer library.

Method

  • connect(callback)

Connect method is for connecting to imap server and create smtp transport.

  • fetchMailFrom(uid, flag)

This method is for fetching mail from imap. Email will fetched started with uid and filtered by flag.

  • sendMail(opts)

This method is for sending mail. The options will passed to nodemailer transport. see at https://nodemailer.com/about/

  • markAsSeen(uid)

Set flag \Seen to mail with the uid.

  • markAsFlagged(uid)

Set flag \Flagged to mail with the uid.

  • markAsDeleted(uid)

Set flag \Deleted to mail with the uid.

Event

  • imap_error

This event will fired when imap connection is error.

  • mail

This event will fired when mail retrieved from imap is parsed. This will event will fired when new email is received to.

  • error

This event will fired when any error on the process.

Example

const NdMail = require('ndmail')
 
let ndmail = new NdMail({
  imap: {
    user: 'email@gmail.com',
    password: 'awesomepassword',
    tls: true,
    port: 993,
    host: 'imap.gmail.com',
    inbox: 'INBOX'
  },
  smtp: {
    host: 'smtp.gmail.com',
    port: 465,
    secure: true, // use SSL
    auth: {
      user: 'email@gmail.com',
      pass: 'awesomepassword'
    }
  }
})
 
ndmail.on('imap_error', function(err) {
  console.log(err)
})
 
ndmail.on('error', function(err) {
  console.log(err)
})
 
ndmail.on('mail', function(msg) {
  ndmail.markAsSeen(msg.uid)
  console.log(msg)
})
 
ndmail.connect(function() {
  ndmail.fetchMailFrom(1)
 
  ndmail.sendMail({
    from: 'email@gmail.com',
    to: 'any@example.com',
    subject: 'Test NdMail',
    html: '<h1>Hello this is a mail from NdMail</h1>'
  })
})

Install

npm i ndmail

DownloadsWeekly Downloads

2

Version

0.2.1

License

MIT

Unpacked Size

34.7 kB

Total Files

7

Last publish

Collaborators

  • avatar