首页 > 解决方案 > onNewMailReceived 事件返回包含上一个消息的消息列表

问题描述

由于过滤不是最好的,我想实现自己的过滤器。

browser.messages.onNewMailReceived.addListener(function(folder, messageList) {

if(folder.accountId == "account1") {
    if(folder.path == "/INBOX") {

        console.log("Folder", typeof folder, folder);
        console.log("MessageList", typeof messageList, messageList);

        let messages = messageList.messages;

        for(let i = 0; i < messages.length; i++) {
            
            let message = messages[i];

            console.log("Message", typeof message, message);
            message.flagged = true;
        }

        messageList.messages = [];
    } else {    
        // Ignored not in inbox
    }
} else {
    // Ignored
}
});

我希望每次收到新消息时,'messageList' 只包含新消息。但它也将包含来自以前事件的消息。这是正常行为吗,我是否需要将消息标记为“已被此处理程序处理”或类似的东西,是否是 API 中的错误?

标签: thunderbirdthunderbird-addonthunderbird-webextensions

解决方案


推荐阅读