title: How to get plain text from body in Node.js IMAP module
body: <p>I am using the IMAP module for Node.js to parse the body of IMAP email. I can get the body returned to me as raw HTML data but this includes tags and other unnecessary data. I would like the text of what was typed (removing any divs, style, etc.)</p>
  
  <p>Here is the code I am currently using:</p>
  
  <pre><code>openInbox(function(err, box) {
        if (err) throw err;
        var f = imap.seq.fetch(box.messages.total + ':*', { bodies: ['HEADER.FIELDS (FROM)','TEXT'] });
        f.on('message', function(msg, seqno) {
          console.log('Message #%d', seqno);
          var prefix = '(#' + seqno + ') ';
          msg.on('body', function(stream, info) {
            if (info.which === 'TEXT')
              console.log(prefix + '\n\nBody [%s] found, %d total bytes\n\n\n', inspect(info.which), info.size);
            var buffer = '', count = 0;
            stream.on('data', function(chunk) {
              count += chunk.length;
              buffer += chunk.toString('utf8');
              if (info.which === 'TEXT')
                console.log(prefix + 'Body [%s] (%d/%d)', inspect(info.which), count, info.size);
            });
            stream.once('end', function() {
              if (info.which !== 'TEXT')
                console.log(prefix + 'Parsed header: %s', inspect(Imap.parseHeader(buffer)));
              else
                console.log(prefix + 'Body [%s] Finished', inspect(info.which));
              console.log('\n\n\n\n'+buffer.toString()+'\n\n\n\n\n\n');
            });
          });
          msg.once('attributes', function(attrs) {
            console.log(prefix + 'Attributes: %s', inspect(attrs, false, 8));
          });
          msg.once('end', function() {
            console.log(prefix + 'Finished');
          });
        });
        f.once('error', function(err) {
          console.log('Fetch error: ' + err);
        });
        f.once('end', function() {
          console.log('Done fetching all messages!');
          imap.end();
        });
      });
  </code></pre>
  
  <p>Is there a way to parse as pure text without any tags or other HTML information?</p>