mail-listener2 icon indicating copy to clipboard operation
mail-listener2 copied to clipboard

Output is not generated.

Open mchopra1004 opened this issue 6 years ago • 5 comments

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: "[email protected]",
	   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 
	 });

mchopra1004 avatar Aug 22 '17 13:08 mchopra1004

@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

rphansen91 avatar Aug 23 '17 06:08 rphansen91

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

demisx avatar Sep 26 '18 14:09 demisx

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

chemi392 avatar Dec 03 '18 18:12 chemi392

After running the above code getting Error

mime.extension is not a function

VivekPowar avatar Mar 19 '19 11:03 VivekPowar

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.

tombburnell avatar Aug 11 '20 10:08 tombburnell