chirag04 / mail-listener2

Mail listener library for node.js. Get notification when new email arrived.
MIT License
245 stars 116 forks source link

Output is not generated. #68

Open mchopra1004 opened 7 years ago

mchopra1004 commented 7 years ago

Hi, I used the below snippet. Although it does not return any error but it does not produce any output. I think the code from line mailListener.on does not execute (Please help.!!! var MailListener = require("mail-listener2");

     var mailListener = new MailListener({
       username: "test@gmail.com",
       password: "test",
       host: "imap.gmail.com",
       port: 993, // imap port
       tls: true,
       connTimeout: 10000, // Default by node-imap 
       authTimeout: 5000, // Default by node-imap, 
       debug: console.log, // Or your custom function with only one incoming argument. Default: null 
       tlsOptions: { rejectUnauthorized: false },
       mailbox: "INBOX", // mailbox to monitor 
       searchFilter: ["UNSEEN", "FLAGGED"],
       markSeen: true, // all fetched email willbe marked as seen and not fetched next time 
       fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false` 
       mailParserOptions: {streamAttachments: true}, // options to be passed to mailParser lib. 
       attachments: true, // download attachments as they are encountered to the project directory 
       attachmentOptions: { directory: "attachments/" }
     });

     mailListener.start();
     mailListener.on("server:connected", function(){
       console.log("imapConnected");
     });

     mailListener.on("mail:arrived", function(id){
       console.log("new mail arrived with id:" + id);
     });

     mailListener.on("mail:parsed", function(mail){
       // do something with mail object including attachments 
       console.log("emailParsed", mail.attachments);
       // mail processing code goes here 
     });
rphansen91 commented 7 years ago

@mchopra1004

Add an error handler to log any errors during setup

mailListener.on("error", function(err){ console.log(err); });

If "imapConnected" is logged on a successful connection my next issue was the searchFilter property. I had to remove the "FLAGGED" filter to see requests

demisx commented 5 years ago

Same here. Removing "FLAGGED" value from searchFilter made my code finally see Gmail emails. Thank you @rphansen91!

chemi392 commented 5 years ago

I also had to remove "FLAGGED" from the filter to be able to see emails from an iRedMail server.

VivekPowar commented 5 years ago

After running the above code getting Error

mime.extension is not a function

tombburnell commented 4 years ago

I get the same as this..

If "FLAGGED" is set, then I see debug log that messages are arrived but the on("mail".. handler does not fire.

If I remove FLAGGED, then the parsing is failing with mime.extension is not a function.