Skip to content

crisp-oss/email-reply-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Email Reply Parser

Test and Build Build and Release NPM Downloads

Email Reply Parser is a node library to parse plain-text email replies and extract content

This library supports most email replies, signatures and locales.

😘 Maintainer: @baptistejamin

Who uses it?

Crisp

πŸ‘‹ You use this library and you want to be listed there? Contact us.

Installation

Install the project using NPM:

npm install --save email-reply-parser

RE2 Support

This library uses the RE2 regex engine when available for better performance and ReDoS protection. It automatically falls back to native JavaScript RegExp if RE2 is unavailable or fails to load.

RE2 is an optional dependency installed by default. If you encounter native compilation issues or want to exclude it:

npm uninstall re2

After a Node.js upgrade, you may need to rebuild RE2:

npm rebuild re2

Features

This library is used at Crisp everyday with around 1 million inbound emails. Over the years, we improved this library so it can work with most emails.

  • Strip email replies like On DATE, NAME <EMAIL> wrote:
  • Supports around 10 locales, including English, French, Spanish, Portuguese, Italian, Japanese, Chinese.
  • Removes signatures like Sent from my iPhone
  • Removes signatures like Best wishes

Usage

import EmailReplyParser from "email-reply-parser";

const email = new EmailReplyParser().read(MY_EMAIL_STRING);

console.log(email.getVisibleText());

Example

import EmailReplyParser from "email-reply-parser";

const emailContent = `Hi there,

I appreciate your help with this issue.

Best regards,
John

On Dec 16, 2024, at 12:47 PM, Support <[email protected]> wrote:

> How can we help you today?
> 
> Thanks,
> Support Team`;

const parser = new EmailReplyParser();

console.log(parser.parseReply(emailContent));
// Output: "Hi there,\n\nI appreciate your help with this issue."

Contributing

Feel free to fork this project and submit fixes. We may adapt your code to fit the codebase.

You can run unit tests using:

npm test

Credits

License

email-reply-parser is released under the MIT License. See the bundled LICENSE file for details.

About

πŸ”Ž Node library for parsing plain text email content.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 11