mirror of
https://github.com/dawidd6/action-send-mail.git
synced 2026-03-15 21:44:04 +07:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ba302ba66e | ||
|
|
7c60f8f904 | ||
|
|
09ee758a9b | ||
|
|
5335a581b9 | ||
|
|
63e792e90a |
1
.github/workflows/test.yml
vendored
1
.github/workflows/test.yml
vendored
@@ -46,6 +46,7 @@ jobs:
|
|||||||
convert_markdown: true
|
convert_markdown: true
|
||||||
attachments: package.json,action.yml
|
attachments: package.json,action.yml
|
||||||
priority: high
|
priority: high
|
||||||
|
headers: '{"X-My-Test-Header": "Passed"}'
|
||||||
|
|
||||||
- name: Get mail
|
- name: Get mail
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -63,6 +63,8 @@ Some features:
|
|||||||
attachments: attachments.zip,git.diff,./dist/static/*.js
|
attachments: attachments.zip,git.diff,./dist/static/*.js
|
||||||
# Optional priority: 'high', 'normal' (default) or 'low'
|
# Optional priority: 'high', 'normal' (default) or 'low'
|
||||||
priority: low
|
priority: low
|
||||||
|
# Optional custom headers:
|
||||||
|
headers: '{"X-Priority": "3 (Normal)", "X-My-Header": "MyValue"}'
|
||||||
# Optional nodemailerlog: true/false
|
# Optional nodemailerlog: true/false
|
||||||
nodemailerlog: false
|
nodemailerlog: false
|
||||||
# Optional nodemailerdebug: true/false if true lognodem will also be set true
|
# Optional nodemailerdebug: true/false if true lognodem will also be set true
|
||||||
|
|||||||
@@ -57,6 +57,9 @@ inputs:
|
|||||||
priority:
|
priority:
|
||||||
description: Set Priority level for the mail message to 'high', 'normal' (default) or 'low'
|
description: Set Priority level for the mail message to 'high', 'normal' (default) or 'low'
|
||||||
required: false
|
required: false
|
||||||
|
headers:
|
||||||
|
description: 'Custom headers for the mail message as a JSON string (e.g., {"X-Custom-Header": "value"})'
|
||||||
|
required: false
|
||||||
nodemailerlog:
|
nodemailerlog:
|
||||||
description: Log option for nodemailer
|
description: Log option for nodemailer
|
||||||
required: false
|
required: false
|
||||||
|
|||||||
2
main.js
2
main.js
@@ -115,6 +115,7 @@ async function main() {
|
|||||||
required: false,
|
required: false,
|
||||||
});
|
});
|
||||||
const envelopeTo = core.getInput("envelope_to", { required: false });
|
const envelopeTo = core.getInput("envelope_to", { required: false });
|
||||||
|
const headers = core.getInput("headers", { required: false });
|
||||||
|
|
||||||
// if neither to, cc or bcc is provided, throw error
|
// if neither to, cc or bcc is provided, throw error
|
||||||
if (!to && !cc && !bcc) {
|
if (!to && !cc && !bcc) {
|
||||||
@@ -166,6 +167,7 @@ async function main() {
|
|||||||
? getText(htmlBody, convertMarkdown)
|
? getText(htmlBody, convertMarkdown)
|
||||||
: undefined,
|
: undefined,
|
||||||
priority: priority ? priority : undefined,
|
priority: priority ? priority : undefined,
|
||||||
|
headers: headers ? JSON.parse(headers) : undefined,
|
||||||
attachments: attachments
|
attachments: attachments
|
||||||
? await getAttachments(attachments)
|
? await getAttachments(attachments)
|
||||||
: undefined,
|
: undefined,
|
||||||
|
|||||||
12
node_modules/.package-lock.json
generated
vendored
12
node_modules/.package-lock.json
generated
vendored
@@ -185,9 +185,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/minimatch": {
|
"node_modules/minimatch": {
|
||||||
"version": "3.1.2",
|
"version": "3.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
|
||||||
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"brace-expansion": "^1.1.7"
|
"brace-expansion": "^1.1.7"
|
||||||
@@ -197,9 +197,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/nodemailer": {
|
"node_modules/nodemailer": {
|
||||||
"version": "8.0.0",
|
"version": "8.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.1.tgz",
|
||||||
"integrity": "sha512-xvVJf/f0bzmNpnRIbhCp/IKxaHgJ6QynvUbLXzzMRPG3LDQr5oXkYuw4uDFyFYs8cge8agwwrJAXZsd4hhMquw==",
|
"integrity": "sha512-5kcldIXmaEjZcHR6F28IKGSgpmZHaF1IXLWFTG+Xh3S+Cce4MiakLtWY+PlBU69fLbRa8HlaGIrC/QolUpHkhg==",
|
||||||
"license": "MIT-0",
|
"license": "MIT-0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.0.0"
|
"node": ">=6.0.0"
|
||||||
|
|||||||
3
node_modules/minimatch/minimatch.js
generated
vendored
3
node_modules/minimatch/minimatch.js
generated
vendored
@@ -390,6 +390,9 @@ function parse (pattern, isSub) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// coalesce consecutive non-globstar * characters
|
||||||
|
if (c === '*' && stateChar === '*') continue
|
||||||
|
|
||||||
// if we already have a stateChar, then it means
|
// if we already have a stateChar, then it means
|
||||||
// that there was something like ** or +? in there.
|
// that there was something like ** or +? in there.
|
||||||
// Handle the stateChar, then proceed with this one.
|
// Handle the stateChar, then proceed with this one.
|
||||||
|
|||||||
4
node_modules/minimatch/package.json
generated
vendored
4
node_modules/minimatch/package.json
generated
vendored
@@ -2,9 +2,9 @@
|
|||||||
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me)",
|
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me)",
|
||||||
"name": "minimatch",
|
"name": "minimatch",
|
||||||
"description": "a glob matcher in javascript",
|
"description": "a glob matcher in javascript",
|
||||||
"version": "3.1.2",
|
"version": "3.1.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"tag": "v3-legacy"
|
"tag": "legacy-v3"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
9
node_modules/nodemailer/CHANGELOG.md
generated
vendored
9
node_modules/nodemailer/CHANGELOG.md
generated
vendored
@@ -1,5 +1,14 @@
|
|||||||
# CHANGELOG
|
# CHANGELOG
|
||||||
|
|
||||||
|
## [8.0.1](https://github.com/nodemailer/nodemailer/compare/v8.0.0...v8.0.1) (2026-02-07)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* absorb TLS errors during socket teardown ([7f8dde4](https://github.com/nodemailer/nodemailer/commit/7f8dde41438c66b8311e888fa5f8c518fcaba6f1))
|
||||||
|
* absorb TLS errors during socket teardown ([381f628](https://github.com/nodemailer/nodemailer/commit/381f628d55e62bb3131bd2a452fa1ce00bc48aea))
|
||||||
|
* Add Gmail Workspace service configuration ([#1787](https://github.com/nodemailer/nodemailer/issues/1787)) ([dc97ede](https://github.com/nodemailer/nodemailer/commit/dc97ede417b3030b311771541b1f17f5ca76bcbf))
|
||||||
|
|
||||||
## [8.0.0](https://github.com/nodemailer/nodemailer/compare/v7.0.13...v8.0.0) (2026-02-04)
|
## [8.0.0](https://github.com/nodemailer/nodemailer/compare/v7.0.13...v8.0.0) (2026-02-04)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
4
node_modules/nodemailer/lib/smtp-connection/index.js
generated
vendored
4
node_modules/nodemailer/lib/smtp-connection/index.js
generated
vendored
@@ -15,6 +15,7 @@ const CONNECTION_TIMEOUT = 2 * 60 * 1000; // how much to wait for the connection
|
|||||||
const SOCKET_TIMEOUT = 10 * 60 * 1000; // how much to wait for socket inactivity before disconnecting the client
|
const SOCKET_TIMEOUT = 10 * 60 * 1000; // how much to wait for socket inactivity before disconnecting the client
|
||||||
const GREETING_TIMEOUT = 30 * 1000; // how much to wait after connection is established but SMTP greeting is not receieved
|
const GREETING_TIMEOUT = 30 * 1000; // how much to wait after connection is established but SMTP greeting is not receieved
|
||||||
const DNS_TIMEOUT = 30 * 1000; // how much to wait for resolveHostname
|
const DNS_TIMEOUT = 30 * 1000; // how much to wait for resolveHostname
|
||||||
|
const TEARDOWN_NOOP = () => {}; // reusable no-op handler for absorbing errors during socket teardown
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates a SMTP connection object
|
* Generates a SMTP connection object
|
||||||
@@ -505,6 +506,9 @@ class SMTPConnection extends EventEmitter {
|
|||||||
socket.removeListener('end', this._onSocketEnd);
|
socket.removeListener('end', this._onSocketEnd);
|
||||||
socket.removeListener('error', this._onSocketError);
|
socket.removeListener('error', this._onSocketError);
|
||||||
socket.removeListener('error', this._onConnectionSocketError);
|
socket.removeListener('error', this._onConnectionSocketError);
|
||||||
|
// Absorb errors that may fire during socket teardown (e.g. server
|
||||||
|
// sending cleartext after TLS shutdown triggers ERR_SSL_BAD_RECORD_TYPE)
|
||||||
|
socket.on('error', TEARDOWN_NOOP);
|
||||||
socket[closeMethod]();
|
socket[closeMethod]();
|
||||||
} catch (_E) {
|
} catch (_E) {
|
||||||
// just ignore
|
// just ignore
|
||||||
|
|||||||
8
node_modules/nodemailer/lib/well-known/services.json
generated
vendored
8
node_modules/nodemailer/lib/well-known/services.json
generated
vendored
@@ -147,6 +147,14 @@
|
|||||||
"secure": true
|
"secure": true
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"GmailWorkspace": {
|
||||||
|
"description": "Gmail Workspace",
|
||||||
|
"aliases": ["Google Workspace Mail"],
|
||||||
|
"host": "smtp-relay.gmail.com",
|
||||||
|
"port": 465,
|
||||||
|
"secure": true
|
||||||
|
},
|
||||||
|
|
||||||
"GMX": {
|
"GMX": {
|
||||||
"description": "GMX Mail",
|
"description": "GMX Mail",
|
||||||
"domains": ["gmx.com", "gmx.net", "gmx.de"],
|
"domains": ["gmx.com", "gmx.net", "gmx.de"],
|
||||||
|
|||||||
10
node_modules/nodemailer/package.json
generated
vendored
10
node_modules/nodemailer/package.json
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nodemailer",
|
"name": "nodemailer",
|
||||||
"version": "8.0.0",
|
"version": "8.0.1",
|
||||||
"description": "Easy as cake e-mail sending from your Node.js applications",
|
"description": "Easy as cake e-mail sending from your Node.js applications",
|
||||||
"main": "lib/nodemailer.js",
|
"main": "lib/nodemailer.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -26,12 +26,12 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://nodemailer.com/",
|
"homepage": "https://nodemailer.com/",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@aws-sdk/client-sesv2": "3.975.0",
|
"@aws-sdk/client-sesv2": "3.985.0",
|
||||||
"bunyan": "1.8.15",
|
"bunyan": "1.8.15",
|
||||||
"c8": "10.1.3",
|
"c8": "10.1.3",
|
||||||
"eslint": "9.39.2",
|
"eslint": "10.0.0",
|
||||||
"eslint-config-prettier": "10.1.8",
|
"eslint-config-prettier": "10.1.8",
|
||||||
"globals": "17.1.0",
|
"globals": "17.3.0",
|
||||||
"libbase64": "1.3.0",
|
"libbase64": "1.3.0",
|
||||||
"libmime": "5.3.7",
|
"libmime": "5.3.7",
|
||||||
"libqp": "2.1.1",
|
"libqp": "2.1.1",
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"prettier": "3.8.1",
|
"prettier": "3.8.1",
|
||||||
"proxy": "1.0.2",
|
"proxy": "1.0.2",
|
||||||
"proxy-test-server": "1.0.0",
|
"proxy-test-server": "1.0.0",
|
||||||
"smtp-server": "3.18.0"
|
"smtp-server": "3.18.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.0.0"
|
"node": ">=6.0.0"
|
||||||
|
|||||||
14
package-lock.json
generated
14
package-lock.json
generated
@@ -8,7 +8,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^3.0.0",
|
"@actions/core": "^3.0.0",
|
||||||
"@actions/glob": "^0.6.1",
|
"@actions/glob": "^0.6.1",
|
||||||
"nodemailer": "^8.0.0",
|
"nodemailer": "^8.0.1",
|
||||||
"showdown": "^1.9.1"
|
"showdown": "^1.9.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -194,9 +194,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/minimatch": {
|
"node_modules/minimatch": {
|
||||||
"version": "3.1.2",
|
"version": "3.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
|
||||||
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"brace-expansion": "^1.1.7"
|
"brace-expansion": "^1.1.7"
|
||||||
@@ -206,9 +206,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/nodemailer": {
|
"node_modules/nodemailer": {
|
||||||
"version": "8.0.0",
|
"version": "8.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.1.tgz",
|
||||||
"integrity": "sha512-xvVJf/f0bzmNpnRIbhCp/IKxaHgJ6QynvUbLXzzMRPG3LDQr5oXkYuw4uDFyFYs8cge8agwwrJAXZsd4hhMquw==",
|
"integrity": "sha512-5kcldIXmaEjZcHR6F28IKGSgpmZHaF1IXLWFTG+Xh3S+Cce4MiakLtWY+PlBU69fLbRa8HlaGIrC/QolUpHkhg==",
|
||||||
"license": "MIT-0",
|
"license": "MIT-0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.0.0"
|
"node": ">=6.0.0"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^3.0.0",
|
"@actions/core": "^3.0.0",
|
||||||
"@actions/glob": "^0.6.1",
|
"@actions/glob": "^0.6.1",
|
||||||
"nodemailer": "^8.0.0",
|
"nodemailer": "^8.0.1",
|
||||||
"showdown": "^1.9.1"
|
"showdown": "^1.9.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user