mailparser 3.9.9 → 3.9.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "3.9.9"
2
+ ".": "3.9.11"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.9.11](https://github.com/nodemailer/mailparser/compare/v3.9.10...v3.9.11) (2026-06-19)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * bump nodemailer to 9.0.1 ([020f140](https://github.com/nodemailer/mailparser/commit/020f140e67e98ac65c1d56d48c838986f7decc8a))
9
+
10
+ ## [3.9.10](https://github.com/nodemailer/mailparser/compare/v3.9.9...v3.9.10) (2026-06-15)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * bump dependencies (nodemailer 9, eslint 10.5, prettier 3.8.4) ([262ecff](https://github.com/nodemailer/mailparser/commit/262ecffcd649a6b0d4164271cc7a2662f9789f64))
16
+
3
17
  ## [3.9.9](https://github.com/nodemailer/mailparser/compare/v3.9.8...v3.9.9) (2026-05-29)
4
18
 
5
19
 
package/SECURITY.md ADDED
@@ -0,0 +1,90 @@
1
+ # Security Policy
2
+
3
+ mailparser is an email parsing library for Node.js. It is routinely pointed at
4
+ untrusted, adversarial, and malformed messages, so parser robustness is a
5
+ security concern: a crafted message should never be able to crash the host
6
+ process, exhaust memory or CPU, pollute prototypes, or leak data across parses.
7
+ We take security reports seriously and aim to respond quickly.
8
+
9
+ ## Supported Versions
10
+
11
+ Security fixes are released only against the latest version. We do not backport
12
+ patches to older releases - upgrading to the current 3.x release line is the
13
+ supported way to receive security updates.
14
+
15
+ | Version | Supported |
16
+ | ------- | ------------------ |
17
+ | 3.x | :white_check_mark: |
18
+ | < 3.0 | :x: |
19
+
20
+ If you are on an older version, please upgrade. See the release notes at
21
+ <https://github.com/nodemailer/mailparser/releases> before updating.
22
+
23
+ > [!NOTE]
24
+ > mailparser is in maintenance mode - it receives security updates and critical
25
+ > bug fixes only. For new projects, consider
26
+ > [PostalMime](https://github.com/postalsys/postal-mime), which works in both
27
+ > Node.js and browser environments.
28
+
29
+ ## Reporting a Vulnerability
30
+
31
+ **Please do not report security vulnerabilities through public GitHub issues,
32
+ pull requests, or discussions.**
33
+
34
+ Report privately through one of the following channels:
35
+
36
+ 1. **GitHub Security Advisories (preferred).** Open a private report at
37
+ <https://github.com/nodemailer/mailparser/security/advisories/new>. This keeps
38
+ the discussion private until a fix is published and lets us credit you.
39
+ 2. **Email.** Send details to **andris@postalsys.com** (the contact listed in
40
+ [`SECURITY.txt`](SECURITY.txt)). Encrypt sensitive details if possible - our
41
+ PGP key fingerprint is `5D952A46E1D8C931F6364E01DC6C83F4D584D364`.
42
+
43
+ When reporting, please include as much of the following as you can:
44
+
45
+ - The affected version(s) and environment (mailparser version, Node.js version,
46
+ OS).
47
+ - A clear description of the issue and its impact (e.g. denial of service via
48
+ CPU or memory exhaustion, ReDoS, prototype pollution, unhandled exception that
49
+ crashes the process, information disclosure between parses).
50
+ - A minimal proof of concept - ideally the raw `.eml` sample or a short script
51
+ that reproduces the issue.
52
+ - Any suggested remediation, if you have one.
53
+
54
+ We are a small team, so there is no guaranteed response time - sometimes reports
55
+ are handled within hours, sometimes they take longer. Accepted issues are fixed
56
+ in a new release and coordinated through a GitHub Security Advisory, and
57
+ reporters who wish to be named are credited.
58
+
59
+ ## CVEs
60
+
61
+ We track and disclose vulnerabilities through GitHub Security Advisories. We do
62
+ not request or manage CVE identifiers ourselves. If you need a CVE assigned for a
63
+ reported issue, please request one yourself - for example, through GitHub's own
64
+ CVE request flow on the published advisory, or another CNA.
65
+
66
+ ## Scope
67
+
68
+ In scope: the mailparser library source in this repository - the streaming MIME
69
+ parser (`MailParser`), the convenience parser (`simpleParser`), header and
70
+ address decoding, charset/transfer-encoding handling, and attachment and HTML/
71
+ text extraction. Of particular interest are inputs that cause unbounded resource
72
+ consumption, catastrophic regular-expression backtracking, prototype pollution,
73
+ or process crashes.
74
+
75
+ Out of scope:
76
+
77
+ - Vulnerabilities in your own application code that consumes mailparser output.
78
+ Parsed email content is attacker-controlled data; you must sanitize and escape
79
+ it before rendering, storing, or executing it. In particular, the `html` field
80
+ is not sanitized for safe display in a browser.
81
+ - Vulnerabilities in third-party dependencies that are already tracked and fixed
82
+ upstream - report those to the respective project (we will still bump the
83
+ dependency once a fix is available).
84
+ - Issues that require an already-compromised host or a malicious local
85
+ environment.
86
+ - Resource consumption that is proportional to a legitimately large input (for
87
+ example, parsing a genuine 100MB message uses memory) rather than amplified by
88
+ a crafted small input.
89
+
90
+ Thank you for helping keep mailparser and its users safe.
package/SECURITY.txt ADDED
@@ -0,0 +1,27 @@
1
+ -----BEGIN PGP SIGNED MESSAGE-----
2
+ Hash: SHA256
3
+
4
+ Contact: https://github.com/nodemailer/mailparser/security/advisories/new
5
+ Contact: mailto:andris@postalsys.com
6
+ Expires: 2027-06-01T00:00:00.000Z
7
+ Encryption: https://keys.openpgp.org/vks/v1/by-fingerprint/5D952A46E1D8C931F6364E01DC6C83F4D584D364
8
+ Preferred-Languages: en, et
9
+ Canonical: https://github.com/nodemailer/mailparser/blob/master/SECURITY.txt
10
+ Policy: https://github.com/nodemailer/mailparser/blob/master/SECURITY.md
11
+ -----BEGIN PGP SIGNATURE-----
12
+
13
+ iQJPBAEBCAA5FiEEXZUqRuHYyTH2Nk4B3GyD9NWE02QFAmowM98bFIAAAAAABAAO
14
+ bWFudTIsMi41KzEuMTIsMCwzAAoJENxsg/TVhNNkyvAP/3U2a9yOHw7nImBzCcFU
15
+ /9vhdicyxkcnFxmwOi8A2ZcCBoysOMgRAgp5suHMLd8KNxcT/NPOnVGzWfZCUkoI
16
+ CbQeGvmuCAXDKXXABPkEz11Yw1CiZ8oqzcJ4uRJ1on/MSZEQoVniGNYTLnvQEoH/
17
+ sqLn0i7IqbIfC2tBHHYX0l8aycYvIiLHWrom2g8ux9q3ZQo8BPe5IlUCXvEcJgMH
18
+ mdz0lb3pM0f6GrTH5d+LSbEk4ShcnkU/KVM4P2wnvdXbHtFfbgIQruQiSksjY5uw
19
+ hgbNX5Rpsc/peB1LUwuvHLwfn9+W1ZA5dOnBqV+BfyKQ5muDrR/cAK8UrY9VVlaD
20
+ HQK2biOfoC1pcaO3YH92ZsKFW+MeTiAOFL668r3uyqyAHXp17vP3AXWrJdcASXtE
21
+ vVpueJPsi7nUufHWddEP+HIClOTrgAPBnma0fSUgR9YZCJvXB0Q/3ZGaDigBEgN9
22
+ CGtaBP9OdruQSWx1CsVNq7Bw/VONXvN3ErUAS1LRhcuwry9Dac5ddOK2jwxZu/jx
23
+ 1t4g/WLyIYtRFDYsEaplGaTgIgDBdf53vOkKz5mnETf907UFr7aTMieI7r0lgjVT
24
+ i7DjruA7qC1TKB8p0n0QK0eUjaI45kOKj76Ctu9CzG4nza98eWX+H2b4F87b86K5
25
+ gCSGLFro2A55I1SaqTDe1cdP
26
+ =4L6c
27
+ -----END PGP SIGNATURE-----
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mailparser",
3
- "version": "3.9.9",
3
+ "version": "3.9.11",
4
4
  "description": "Parse e-mails",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -25,7 +25,7 @@
25
25
  "libmime": "5.3.8",
26
26
  "linkify-it": "5.0.1",
27
27
  "@zone-eu/mailsplit": "5.4.12",
28
- "nodemailer": "8.0.10",
28
+ "nodemailer": "9.0.1",
29
29
  "punycode.js": "2.3.1",
30
30
  "tlds": "1.261.0"
31
31
  },
@@ -33,7 +33,7 @@
33
33
  "@eslint/eslintrc": "3.3.5",
34
34
  "@eslint/js": "10.0.1",
35
35
  "ajv": "8.20.0",
36
- "eslint": "10.4.0",
36
+ "eslint": "10.5.0",
37
37
  "eslint-config-nodemailer": "1.2.0",
38
38
  "eslint-config-prettier": "10.1.8",
39
39
  "grunt": "1.6.2",
@@ -41,7 +41,7 @@
41
41
  "grunt-contrib-nodeunit": "5.0.0",
42
42
  "grunt-eslint": "26.0.0",
43
43
  "iconv": "3.0.1",
44
- "prettier": "3.8.3",
44
+ "prettier": "3.8.4",
45
45
  "random-message": "1.1.0"
46
46
  },
47
47
  "repository": {
@@ -1,4 +0,0 @@
1
- # These are supported funding model platforms
2
-
3
- github: [andris9] # enable once enrolled
4
- custom: ['https://www.paypal.me/nodemailer']
@@ -1,36 +0,0 @@
1
- on:
2
- push:
3
- branches:
4
- - master
5
-
6
- permissions:
7
- contents: write
8
- pull-requests: write
9
- issues: write
10
- id-token: write
11
-
12
- name: release
13
- jobs:
14
- release-please:
15
- runs-on: ubuntu-latest
16
- outputs:
17
- release_created: ${{ steps.release.outputs.release_created }}
18
- steps:
19
- - uses: googleapis/release-please-action@v4
20
- id: release
21
-
22
- publish:
23
- needs: release-please
24
- if: ${{ needs.release-please.outputs.release_created }}
25
- runs-on: ubuntu-latest
26
- permissions:
27
- contents: read
28
- id-token: write
29
- steps:
30
- - uses: actions/checkout@v4
31
- - uses: actions/setup-node@v4
32
- with:
33
- node-version: 24
34
- registry-url: 'https://registry.npmjs.org'
35
- - run: npm ci
36
- - run: npm publish --provenance --access public
@@ -1,24 +0,0 @@
1
- name: 'Close stale issues and PRs'
2
- on:
3
- schedule:
4
- - cron: '30 1 * * *'
5
-
6
- jobs:
7
- stale:
8
- runs-on: ubuntu-latest
9
- steps:
10
- - uses: actions/stale@v8
11
- with:
12
- stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
13
- stale-pr-message: 'This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.'
14
- close-issue-message: 'This issue was closed because it has been stalled for 15 days with no activity.'
15
- close-pr-message: 'This PR was closed because it has been stalled for 20 days with no activity.'
16
- days-before-issue-stale: 30
17
- days-before-pr-stale: 45
18
- days-before-issue-close: 15
19
- days-before-pr-close: 20
20
- stale-issue-label: 'no-issue-activity'
21
- exempt-issue-labels: 'pending,work-in-progress'
22
- stale-pr-label: 'no-pr-activity'
23
- exempt-pr-labels: 'awaiting-approval,work-in-progress'
24
- repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -1,21 +0,0 @@
1
- name: Run tests
2
-
3
- on:
4
- push:
5
- pull_request:
6
-
7
- jobs:
8
- test:
9
- strategy:
10
- matrix:
11
- node: [22.x, 24.x]
12
- os: [ubuntu-latest]
13
- runs-on: ${{ matrix.os }}
14
- steps:
15
- - uses: actions/checkout@v4
16
- - name: Use Node.js ${{ matrix.node }}
17
- uses: actions/setup-node@v4
18
- with:
19
- node-version: ${{ matrix.node }}
20
- - run: npm install
21
- - run: npm test
package/.ncurc.js DELETED
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- upgrade: true,
5
- reject: []
6
- };