format EML file in browser env
npm install eml-parse-js> fork from eml-format-js(used in Browser env) & eml-format (used in NodeJs env)
1. fix eml-format-js for parsing html from the eml with quoted-printable
2. add data with base64 in attachment
``javascript
import { parseEml, readEml, GBKUTF8, decode } from 'eml-parse-js';
// const eml = await axios(http | ajax).get()
// .eml file `
readEml(eml, (err, ReadEmlJson) => {
});
`typescript
interface Attachment {
name: string;
contentType: string;
inline: boolean;
data: string | Uint8Array;
data64: string;
filename?: string;
mimeType?: string;
id?: string;
cid?: string;
}
interface ReadEmlJson {
attachments: Attachment
date: Date | string;
subject: string;
from: EmailAddress | EmailAddress[] | null;
to: EmailAddress | EmailAddress[] | null;
cc?: EmailAddress | EmailAddress[] | null;
headers: EmlHeaders;
multipartAlternative?: {
'Content-Type': string;
};
text?: string;
textheaders?: BoundaryHeaders;
html?: string; // email html data
htmlheaders?: BoundaryHeaders;
attachments?: Attachment[];
data?: string;
}
``