Links
Comment on page

email

Provides methods for working with email via IMAP.

getLastEmail

Retrieves last unseen email.
** Usage example:**
email.init('[YOUR_EMAIL]@gmail.com', 'password', 'imap.gmail.com', 993, true, 3000);
var mail = email.getLastEmail(60, 'email subject', 5000);
log.info(mail);
if(r.attachments && r.attachments.length > 0){
const fs = require('fs');
r.attachments.map((attachment) => {
let fileDescriptor;
try{
fileDescriptor = fs.openSync(attachment.filename, 'w');
} catch(e) {
throw 'could not open file: ' + e;
}
try{
fs.writeFileSync(fileDescriptor, attachment.data);
} catch(e) {
throw 'error writing file: ' + e;
}
fs.closeSync(fileDescriptor);
});
}
Parameters:
Name
Type
Description
sinceMinutes
Number
Search for emails received since the specified amount of minutes into past.
subject
String|Regex
Return email matching the specified subject.
timeout
Number
Timeout (in milliseconds) for waiting for the message to arrive.
Returns:
Object - Email body, text, textAsHtml, attachments if any, and TO, FROM, SUBJECT, DATE headers.

init

Set email connection details.
Parameters:
Name
Type
Description
user
String
Username (e.g. '[email protected]').
password
String
Password.
host
String
Host name (e.g. 'imap.gmail.com').
port
Number
Port number (e.g. 993).
tls
Boolean
true to use TLS, false otherwise.
authTimeout
Number
Authentication timeout in milliseconds.
enableSNI
Boolean
optional Enable sending SNI when establishing the connection. This is required for some mail servers. Default is false.
Last modified 1yr ago