https://github.com/crisp-oss/email-bounce-parser
🏓 Node library for parsing bounce emails.
https://github.com/crisp-oss/email-bounce-parser
Last synced: 3 months ago
JSON representation
🏓 Node library for parsing bounce emails.
- Host: GitHub
- URL: https://github.com/crisp-oss/email-bounce-parser
- Owner: crisp-oss
- License: mit
- Created: 2023-11-24T08:48:49.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-02-02T00:59:06.000Z (8 months ago)
- Last Synced: 2025-06-11T04:47:31.822Z (4 months ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/email-bounce-parser
- Size: 145 KB
- Stars: 4
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Email Bounce Parser
[](https://github.com/crisp-oss/email-bounce-parser/actions?query=workflow%3A%22Test+and+Build%22) [](https://github.com/crisp-oss/email-bounce-parser/actions?query=workflow%3A%22Build+and+Release%22) [](https://www.npmjs.com/package/email-bounce-parser) [](https://www.npmjs.com/package/email-bounce-parser)
Parses bounce emails and extracts details.
**😘 Maintainer**: [@eliottvincent](https://github.com/eliottvincent)
## Who uses it?
Crisp
_👋 You use this library and you want to be listed there? [Contact us](https://crisp.chat/)._
## Features
This library is used at [Crisp](https://crisp.chat/) everyday to parse bounce emails.
It supports most variations of bounce emails (Postfix, Dovecat, Gmail, Outlook).## Usage
```js
const EmailBounceParse = require("email-bounce-parser");const result = new EmailBounceParse().read(MY_EMAIL_STRING);
console.log(result);
```## API
### Parse a bounce email
`read(body)` parses the bounce email and extracts available information (error code and type, server, original recipient, etc.):
* `body` must be a string representing the bounce email **text** body (not HTML body). You can use [mailparser](https://github.com/nodemailer/mailparser) for example.```js
const EmailBounceParse = require("email-bounce-parser");const result = new EmailBounceParse().read(MY_EMAIL_STRING);
console.log(result);
// {
// bounce: true,
//
// email: {
// body: "This is the mail system at host mailer.acme.email [...] (in reply to RCPT TO command)",
// intro: "This is the mail system at host mailer.acme.email [...] The mail system",
// error: ": host smtp.secureserver.net[92.240.81.0] said: [...] (in reply to RCPT TO command)"
// },
//
// data: {
// error: {
// code: {
// basic: "550",
// enhanced: "5.1.1"
// },
// label: " Recipient not found.",
//
// type: "action_not_taken",
//
// temporary: false,
// permanent: true,
//
// data: {
// type: "no_such_user",
// blocked: false,
// spam: false
// }
// },
//
// recipient: "john@yipee.com",
//
// server: {
// hostname: "smtp.secureserver.net",
// ip: "92.240.81.0",
// port: "25"
// },
//
// command: "RCPT TO"
// }
// }
```Head over to `/test/fixtures/` for more bounce examples and parsing results (anonymized data).
## 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
```## License
email-bounce-parser is released under the MIT License. See the bundled LICENSE file for details.