mail page connected with folders 4
This commit is contained in:
parent
b9c1425002
commit
42a8c1dab8
@ -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);
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user