我需要在新邮件事件中获取新邮件消息的信息。具体地说:
我现在的密码是:
let Imap = require('node-imap')
let imap = new Imap({
user: '***@gmail.com',
password: '***',
host: 'imap.gmail.com',
port: 993,
tls: true
});
imap.on('ready', () => {
imap.openBox('INBOX', true, (err, box) => {
if (err) console.log(err)
else console.log('Recipient is ready for accepting')
})
})
imap.on('mail', mail => {
const title = ?
const subject = ?
const email = ?
console.log(`Email author: ${email} Title: ${title}, Description: ${subject}`)
})
imap.connect()发布于 2022-05-10 12:59:18
imap.on('mail', ...)没有提供新邮件的信息。只有几封新邮件。
邮件(<整数>numNewMsgs) -当新邮件到达当前打开的邮箱时发出。
要获取邮件数据,请使用imap.seq.fetch或imap.search。您可以在这里找到一些示例:https://github.com/mscdex/node-imap#connection-events
也许这有帮助(https://github.com/mscdex/node-imap/issues/359#issuecomment-37099842):
imap.search([ 'NEW' ], function(err, results) {
if (err || !results.length) return imap.end();
// fetch all resulting messages
imap.fetch(results, ....);
// or just fetch only the first result... which may not necessarily be newest
// because the server can return results in any order
imap.fetch(results[0], ...);
});https://stackoverflow.com/questions/68897007
复制相似问题