1

我为此使用节点的 IMAP 和 Mailparser 模块。

我的邮箱阅读器函数具有解析标题的这一行:

var parsed_header = inspect(Imap.parseHeader(buffer));

这将返回:

{ from: [ 'user <user@mail.com>' ],
subject: [ 'Test' ] }

我希望能够使用 JSON.parse 将其解析为 JSON,但是因为键周围没有引号 + 键都在列表中,可以这样做吗?

4

2 回答 2

2

我用两个正则表达式替换解决了同样的问题:

var header = inspect(Imap.parseHeader(buffer)).replace(/'/g,'"').replace(/([a-z]+)(: ?[\[\n])/g, '"$1"$2');
var headerObj = JSON.parse(header);

第一个用双引号替换单引号,第二个在字段名称周围添加引号。

于 2018-05-13T18:25:49.937 回答
0

只要做var parsed_header = Imap.parseHeader(buffer),你就会有一个对象。因此,对于获取“来自”字段,您可以使用parsed_header.from

于 2018-12-05T16:20:28.097 回答