Tôi muốn gắn thẻ tất cả các thư đến bao gồm lời mời lịch. Sau đó, tôi muốn chuyển chúng vào một thư mục khác. Tôi đã thử phương pháp được mô tả trong điều này trả lời, nhưng nó không hoạt động: Tôi đã thử tìm một tiêu đề có tên "Loại nội dung" với nội dung "văn bản / lịch" nhưng nó không hoạt động.
Tôi cũng đã thử addon FilteraQuilla , mà thất bại là tốt. Tôi đã sử dụng mã sau đây:
var sHeaderToLookFor = "content-type";
var sContentInHeader = "text/calendar";
var bFoundIt = false;
function msgHdrGetHeaders(aMsgHdr, k) {
let uri = aMsgHdr.folder.getUriForMsg(aMsgHdr);
let messageService = MailServices.messenger.messageServiceFromURI(uri);
MsgHdrToMimeMessage(aMsgHdr, null, function (aMsgHdr, aMimeMsg) { k(aMimeMsg); }, true, { partsOnDemand: true, examineEncryptedParts:true });
}
msgHdrGetHeaders(message, function (aHeaders) {
if (aHeaders.has(sHeaderToLookFor)) {
var pattern = new RegExp(sContentInHeader);
Application.console.log("InBetween_1");
if (!bFoundIt)
bFoundIt= pattern.test(aHeaders.get(sHeaderToLookFor));
Application.console.log(bFoundIt);
Application.console.log("InBetween_2");
}
});
Application.console.log("AtEnd_1");
Application.console.log(bFoundIt);
Application.console.log("AtEnd_2");
bFoundIt;
Tôi đã theo dõi đầu ra trên bảng điều khiển sau khi kiểm tra bộ lọc trên email với lời mời .ics:
AtEnd_1
false
AtEnd_2
InBetween_1
true
InBetween_2
Về cơ bản, bộ lọc này với JavaScript sẽ hoạt động. Nhưng nó không hoạt động vì MsgHdrToMimeMessage () sẽ gọi lại cuộc gọi sau khi Bộ lọc trả về "false" cho FilteraQuilla. Tôi sẽ cần phải làm cho mã chờ (sử dụng đồng bộ thay vì không đồng bộ), nhưng tôi không biết làm thế nào để làm điều đó.
Dù sao, tôi không thực sự tập trung vào việc sử dụng FilteraQuilla. Tôi chỉ muốn có một giải pháp cho vấn đề của tôi.
Tôi sử dụng IMAP và tôi lưu email của mình trên HD cục bộ để đọc email ngoại tuyến.
Có một phiên bản Thunderbird cũ hơn, nơi FilteraQuilla hoạt động (tương tự như 24.x), và ở đó các phiên bản Thunderbird cũ hơn (như 3.x) nơi các bộ lọc trên các tiêu đề hoạt động. Nhưng một cái gì đó đã thay đổi và bây giờ tôi không biết làm thế nào để lọc nữa.