Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. const getInbox = () => {
  2. return new Promise((resolve, reject) => {
  3. imaps.connect(config).then(function (connection) {
  4. return connection.openBox('INBOX').then(function () {
  5. var searchCriteria = ['ALL'];
  6. var fetchOptions = {
  7. bodies: ['HEADER', 'TEXT', ''],
  8. };
  9. return connection.search(searchCriteria, fetchOptions).then(async function (messages) {
  10. let promises = messages.map(item=>{
  11. return new Promise((resolve,reject)=>{
  12. var all = _.find(item.parts, { "which": "" })
  13. var id = item.attributes.uid;
  14. var idHeader = "Imap-Id: " + id + "rn";
  15. simpleParser(idHeader + all.body, (err, mail) => {
  16. resolve(mail);
  17. });
  18. });
  19. });
  20. Promise.all(promises).then(data=>{
  21. let d = data.filter(obj=>obj.me).map(obj=>{
  22. return {
  23. from:obj.from.value.map(obj=>obj.address).join(','),
  24. to:obj.to.value.map(obj=>obj.address).join(','),
  25. subject:obj.subject,
  26. attachments:obj.attachments,
  27. message_id:obj.messageId,
  28. date:obj.date
  29.  
  30. }
  31. });
  32. resolve(d);
  33. })
  34. });
  35. });
  36. });
  37. }); }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement