Code Monkey home page Code Monkey logo

dotmsg's Introduction

dotmsg ๐Ÿ“ง

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.

Installation ๐Ÿ”ง

npm install dotmsg

Features ๐ŸŒŸ

  • 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

Usage ๐Ÿš€

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();

API ๐Ÿ“˜

DotMsgParser

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[]

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;

License ๐Ÿ“„

MIT

dotmsg's People

Contributors

dependabot[bot] avatar karimould avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.