mail page connected with folders 4

This commit is contained in:
alma 2025-04-16 16:52:14 +02:00
parent b9c1425002
commit 42a8c1dab8

View File

@ -204,6 +204,14 @@ export async function GET() {
fetch.on('message', (msg) => {
let header = '';
let text = '';
let messageId: number | null = null;
let messageFlags: string[] = [];
// Handle attributes first
msg.once('attributes', (attrs) => {
messageId = attrs.uid;
messageFlags = attrs.flags || [];
});
msg.on('body', (stream, info) => {
let buffer = '';
@ -220,16 +228,21 @@ export async function GET() {
});
msg.on('end', () => {
if (!messageId) {
console.error('No message ID found for email');
return;
}
const parsedHeader = Imap.parseHeader(header);
const email = {
id: msg.attributes.uid,
from: parsedHeader.from[0],
to: parsedHeader.to[0],
subject: parsedHeader.subject[0],
date: parsedHeader.date[0],
id: messageId,
from: parsedHeader.from?.[0] || '',
to: parsedHeader.to?.[0] || '',
subject: parsedHeader.subject?.[0] || '(No subject)',
date: parsedHeader.date?.[0] || new Date().toISOString(),
body: text,
folder: folderName,
flags: msg.attributes.flags
flags: messageFlags
};
emailsByFolder[folderName].push(email);
});