gpt4 book ai didi

node.js - 如何在 Node js 中使用 npm-imap 包读取和解析电子邮件

转载 作者:行者123 更新时间:2023-12-03 12:13:28 25 4
gpt4 key购买 nike

我浏览了许多链接,但在任何地方都找不到完整的解决方案来实现这一点。

最佳答案

var Imap = require('imap'),
inspect = require('util').inspect;
var fs = require('fs'), fileStream;
var buffer = '';

var myMap;


var imap = new Imap({
user: "your-mail-id",
password: "your-mail-password",
host: "imap.gmail.com", //this may differ if you are using some other mail services like yahoo
port: 993,
tls: true,
connTimeout: 10000, // Default by node-imap
authTimeout: 5000, // Default by node-imap,
debug: console.log, // Or your custom function with only one incoming argument. Default: null
tlsOptions: { rejectUnauthorized: false },
mailbox: "INBOX", // mailbox to monitor
searchFilter: ["UNSEEN", "FLAGGED"], // the search filter being used after an IDLE notification has been retrieved
markSeen: true, // all fetched email willbe marked as seen and not fetched next time
fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false`,
mailParserOptions: { streamAttachments: true }, // options to be passed to mailParser lib.
attachments: true, // download attachments as they are encountered to the project directory
attachmentOptions: { directory: "attachments/" } // specify a download directory for attachments
});

function openInbox(cb) {
imap.openBox('INBOX', false, cb);
}

imap.once('ready', function () {
openInbox(function (err, box) {
if (err) throw err;
imap.search(['UNSEEN', ['SUBJECT', 'Give Subject Here']], function (err, results) {
if (err) throw err;
var f = imap.fetch(results, { bodies: '1', markSeen: true });
f.on('message', function (msg, seqno) {
console.log('Message #%d' + seqno);
console.log('Message type' + msg.text)
var prefix = '(#' + seqno + ') ';
msg.on('body', function (stream, info) {
stream.on('data', function (chunk) {
buffer += chunk.toString('utf8');
console.log("BUFFER" + buffer)

})
stream.once('end', function () {
if (info.which === '1') {
console.log("BUFFER" + buffer)
}


});
console.log(prefix + 'Body');
stream.pipe(fs.createWriteStream('msg-' + seqno + '-body.txt'));
});
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();
});
});
});
});

imap.once('error', function (err) {
console.log(err);
});

imap.once('end', function () {
console.log('Connection ended');
});

imap.connect();

请在: Node-Imap 找到有关此的详细说明

关于node.js - 如何在 Node js 中使用 npm-imap 包读取和解析电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48941453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com