67 lines
1.2 KiB
TypeScript
67 lines
1.2 KiB
TypeScript
export interface EmailCredentials {
|
|
// IMAP Settings
|
|
email: string;
|
|
password?: string;
|
|
host: string;
|
|
port: number;
|
|
secure?: boolean;
|
|
encryptedPassword?: string;
|
|
|
|
// SMTP Settings
|
|
smtp_host?: string;
|
|
smtp_port?: number;
|
|
smtp_secure?: boolean; // true for SSL, false for TLS
|
|
|
|
// Display Settings
|
|
display_name?: string;
|
|
color?: string;
|
|
}
|
|
|
|
export interface EmailAddress {
|
|
name: string;
|
|
address: string;
|
|
}
|
|
|
|
export interface EmailAttachment {
|
|
contentId?: string;
|
|
filename: string;
|
|
contentType: string;
|
|
size: number;
|
|
path?: string;
|
|
content?: string;
|
|
}
|
|
|
|
export interface EmailMessage {
|
|
id: string;
|
|
messageId?: string;
|
|
subject: string;
|
|
from: EmailAddress[];
|
|
to: EmailAddress[];
|
|
cc?: EmailAddress[];
|
|
bcc?: EmailAddress[];
|
|
date: Date;
|
|
flags: {
|
|
seen: boolean;
|
|
flagged: boolean;
|
|
answered: boolean;
|
|
deleted: boolean;
|
|
draft: boolean;
|
|
};
|
|
preview?: string;
|
|
content?: string;
|
|
html?: string;
|
|
text?: string;
|
|
hasAttachments: boolean;
|
|
attachments?: EmailAttachment[];
|
|
folder: string;
|
|
size?: number;
|
|
contentFetched: boolean;
|
|
}
|
|
|
|
export interface Account {
|
|
id: number | string;
|
|
name: string;
|
|
email: string;
|
|
color: string;
|
|
folders?: string[];
|
|
}
|