Dotmsg is a lightweight, versatile JavaScript / TypeScript library for parsing .msg files, specifically designed for both server-side and client-side (browser) applications. Compatible with modern web frameworks, it simplifies the process of extracting email content, metadata, and attachments from Microsoft Outlook .msg files.
npm install dotmsg
- Parse .msg files from Buffer or Uint8Array inputs
- Extract email content, such as plain text and HTML content
- Extract email metadata, such as sender, recipients, subject, and dates
- Extract email attachments
Here's a basic example of how to use the dotmsg library in an node enviroment:
import { DotMsgParser } from "dotmsg";
import fs from "fs";
async function main() {
const data = fs.readFileSync("path/to/your/file.msg");
const parser = new DotMsgParser();
await parser.parseBuffer(data);
console.log("Subject:", parser.getSubject());
console.log("Sender:", parser.getSenderEmail());
console.log("Plain text content:", parser.getTextContent());
}
main();
The main class for parsing .msg files.
Parses a .msg file from a Buffer or Uint8Array input.
async parseBuffer(input: Buffer | Uint8Array): Promise<void>
Get the plain text content of the email.
getTextContent(): string | undefined
Get the HTML content of the email.
getHTMLContent(): string | undefined
Get the sender's email address.
getSenderEmail(): string | undefined
Get the sender's name.
getSenderName(): string | undefined
Get the subject of the email.
getSubject(): string | undefined
Get the sent date of the email.
getSentDate(): string | undefined
Get the received date of the email.
getReceivedDate(): string | undefined
Get the email address of the recipient.
getReceivedByEmail(): string | undefined
Get the name of the recipient.
getReceivedByName(): string | undefined
Get the CC recipients of the email.
getCC(): string[] | undefined
Get the priority of the email.
getPriority(): string | undefined
Get the TO recipients of the email.
getTo(): string | undefined
Get the BCC recipients of the email.
getBCC(): string[] | undefined
Get the reply-to address of the email.
getReplyTo(): string | undefined
Get the importance level of the email.
getImportance(): string | undefined
Get whether a delivery receipt was requested for the email.
getDeliveryReceiptRequested(): string | undefined
Get the attachments of the email.
getAttachments(): Attachment[]
A class representing an email attachment.
Create a new Attachment instance.
constructor(filename: string, data: Buffer)
The filename of the attachment.
getFilename(): string;
The attachment data as a Buffer.
getData(): Buffer;
MIT