random-message
Returns a random e-mail message as a stream from a folder of eml formatted email message files. Useful for testing, for example if you want to test send queues and you need a flow of real-looking random emails.
You can also use this module to split large mbox files from Google Takeout into separate eml files.
Install
Install from npm
npm install random-message
Require in your script
var randomMessage = ;
Usage
random-message requires the following folder structure:
- messages-root
- YYYY-MM
- message1.eml
- message2.eml
- message3.eml
- ...
- messageN.eml
Exact format for the message file name does not matter as long as the extension is .eml
. Messages need to reside in folders where folder name is formatted like this: YYYY-MM
, eg. "2016-07-21". You also need to have at least one email message file in every folder.
get
To get a random message from the message pool as a stream, use get
:
randomMessage → Stream
Where
- messagesRoot is the path for messages-root folder. This folder should include subfolders named as YYYY-MM and these, in turn, should include the actual .eml files
- seed is an optional random seed string. For the same seed string you get the same random message
Example
randomMessage;
or to get the same random message every time
// Pipe a random message to stdoutrandomMessage;// Pipe the same random message to stdoutrandomMessage;
split
If you have a large mbox file then you can split it into separate eml files using split
:
randomMessage
Where
- mbox is the path to a mbox file
- messagesRoot is the path for messages-root folder.
split()
will create YYYY-MM subfolders for the messages automatically - callback is the callback function that returns the total amount of processed messages
Example
randomMessage;
License
MIT