Imap Simple-仅获取已回复的邮件内容

时间:2019-12-07 19:56:49

标签: javascript imap

/!/对不起,我英语不好,我正在努力!

我正在工作一个Node项目,希望在该项目上从收件箱中获取电子邮件。

实际上,这很完美,也许只有一个细节让我有些麻烦。

我希望能够将已答复邮件的内容与初始电子邮件分离,但是imap可以用html,text或textAsHtml的形式提供完整的主题。

这是代码:

var imaps = require('imap-simple');
const simpleParser = require('mailparser').simpleParser;
const _ = require('lodash');

.
.
.
.
.

fetchMails() {
        var config = {
            imap: {
                user: 'catchall@foobar.fr',
                password: 'foobar',
                host: 'imap.gmail.com',
                port: 993,
                tls: true,
                authTimeout: 3000
            }
        };

        imaps.connect(config).then(function (connection) {

            return connection.openBox('INBOX').then(function () {
                var searchCriteria = [
                    'UNSEEN'
                ];

                var fetchOptions = {
                    bodies: ['HEADER', 'TEXT', ''],
                    markSeen: false,
                };

                return connection.search(searchCriteria, fetchOptions).then(function (results) {

                    results.forEach(r => {
                        var all = _.find(r.parts, { "which": "" })
                        var id = r.attributes.uid;
                        var idHeader = "Imap-Id: "+id+"\r\n";

                        simpleParser(idHeader+all.body, async (err, mail) => {
                            console.log(mail.textAsHtml);
                            } else {
                                console.log('nothing for now');   
                            }
                        });
                    });
                });
            });
        });
    }

例如,它显示给我:


textAsHtml: '<p>Here is the reply !<br/>Foo Bar -</p><p>Le sam. 7 d&eacute;c. 2019 &agrave; 18:36, &lt;<a href="mailto:catchall@foobar.fr">catchall@foobar.fr</a>&gt; a &eacute;crit :</p><p>&gt; Here is the initial mail<br/>&gt;</p>',

有人对我如何继续仅获得答复有任何想法吗?

或者在<p>中得到textAsHtml包含的所有(顶部)数组?

谢谢!

快乐的编码,

0 个答案:

没有答案