Guest User

Untitled

a guest
Nov 30th, 2017
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. const Imap = require('imap');
  2. const moment = require('moment');
  3. const fs = require('fs');
  4.  
  5. const imap = new Imap({
  6. user: 'ENDERECO_DE_EMAIL',
  7. password: 'SENHA',
  8. host: 'imap-mail.outlook.com', // 'imap.gmail.com'
  9. port: 993,
  10. tls: true,
  11. connTimeout: 500000,
  12. authTimeout: 500000,
  13. socketTimeout: 500000
  14. });
  15.  
  16. function openInbox(cb) {
  17. imap.openBox('INBOX', true, cb);
  18. }
  19.  
  20. imap.on('ready', () => {
  21. openInbox((err, box) => {
  22. if (err) throw err;
  23.  
  24. const DATE = new Date();
  25. const MMM = moment(DATE).format('MMM');
  26. const DD = DATE.getDate();
  27. const YYYY = DATE.getFullYear();
  28. const FILTER_DATE = `${MMM} ${DD}, ${YYYY}`;
  29.  
  30. console.log('======================================================');
  31. console.log(moment().format('DD-MM-YYYY hh:mm:ss'));
  32. console.log('LENDO E-MAILS DO DIA');
  33. console.log('======================================================');
  34.  
  35. // Pesquisa e-mails da data, Ex.: Nov 28, 2017
  36. imap.search([['SINCE', FILTER_DATE]], (err, results) => {
  37. if (err) throw err;
  38. console.log(
  39. '======================================================'
  40. );
  41. console.log(`(${results.length}) E-MAILS ENCONTRADOS.`);
  42. const f = imap.fetch(results, { bodies: '' });
  43.  
  44. f.on('message', (msg, seqno) => {
  45. msg.on('body', stream =>
  46. stream.pipe(
  47. fs.createWriteStream(
  48. `${MMM}-${YYYY}-${DD}_${seqno}-email.txt`
  49. )
  50. )
  51. );
  52. msg.once('end', () => console.log(`E-MAIL ${seqno} -> LIDO.`));
  53. });
  54. f.once('error', err => console.error(`Ops Erro: ${err}`));
  55. f.once('end', () => imap.end());
  56. });
  57. });
  58. });
  59.  
  60. imap.on('error', err => console.error(err));
  61. imap.on('end', () => {
  62. console.log('CONEXÃO FINALIZADA');
  63. console.log('======================================================');
  64. });
  65.  
  66. imap.connect();
Add Comment
Please, Sign In to add comment