Skip to content

Processes incoming csv and xlsx mail attachments and notifies node.js with the files converted to json

License

Notifications You must be signed in to change notification settings

Robmbackus/mail-attachment-notifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mail-attachment-notifer

Processes incoming csv and xlsx mail attachments and notifies node.js with the files converted to json

introduction

Built on the popular mail-notifier module by jcreigno, this module aims to provide streamlined attachment handling for CSV and Excel XLSX files. When a new mail arrives, it is scanned for attachments, csv, xlsx, and txt files will be converted into json and a 'attachment' event will be emitted.

This module will also handle .zip files. Each file within the zip directory will be parsed and a separate event for each file will be emitted.

Getting Started

Watch for attachments:

var attachmentNotifier = require('mail-attachment-notifier');

const imap = {
  user: "yourimapuser",
  password: "yourimappassword",
  host: "imap.host.com",
  port: 993, // imap port
  tls: true,// use secure connection
  tlsOptions: { rejectUnauthorized: false },
  directory: "/tmp"
};

var listenAttachments = attachmentNotifier(imap);

  listenAttachments.on('attachment', data => console.log(data));
  listenAttachments.start();
  listenAttachments.stop();

installation

$ npm install mail-attachment-notifier

API

Configuration built on mail-notifier implementation

attachmentNotifier(config)

The constructor function creates a new attachmentNotifier. Parameter provide options needed for imap connection. config :

  • host : imap server host
  • port : imap server port number
  • user : imap user name
  • password : imap password
  • tls : need a tls connection to server
  • tlsOptions : see tls module options
  • markSeen: mark mail as read defaults to true
  • box : mail box read from defaults to 'INBOX'
  • search: search query defaults to ['UNSEEN']
  • directory:write file location, default to "/tmp"

.start()

Start listening for incomming mail/attachments.

.stop()

Stop listening and close IMAP connection.

Dependencies

This module relies heavily on node-imap. For more advanced usage, please consider using it directly.

About

Processes incoming csv and xlsx mail attachments and notifies node.js with the files converted to json

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published