From abb4c87fd6f434096df2720401389e1f587bd2f5 Mon Sep 17 00:00:00 2001 From: Shane Krueger Date: Tue, 8 Apr 2025 14:36:45 -0400 Subject: [PATCH] Add envelope-from and envelope-to options (#224) * Add envelope-from and envelope-to options * update readme --- README.md | 4 ++++ action.yml | 6 ++++++ main.js | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/README.md b/README.md index 1c7aadf9..41beb872 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,10 @@ Some features: nodemailerlog: false # Optional nodemailerdebug: true/false if true lognodem will also be set true nodemailerdebug: false + # Optional custom SMTP MAIL FROM address (overrides username): + envelope_from: mailer@example.com + # Optional custom SMTP RCPT TO addresses (overrides to, cc, bcc): + envelope_to: mailer@example.com,admin@example.com ``` ## Troubleshooting diff --git a/action.yml b/action.yml index 239e7957..51172389 100644 --- a/action.yml +++ b/action.yml @@ -63,6 +63,12 @@ inputs: nodemailerdebug: description: Debug option for nodemailer required: false + envelope_from: + description: Custom envelope sender address for SMTP MAIL FROM command + required: false + envelope_to: + description: Custom envelope recipient addresses for SMTP RCPT TO command (separated with comma) + required: false runs: using: node20 main: main.js diff --git a/main.js b/main.js index e26f07f7..534326db 100644 --- a/main.js +++ b/main.js @@ -99,6 +99,8 @@ async function main() { const priority = core.getInput("priority", { required: false }) const nodemailerlog = core.getInput("nodemailerlog", { required: false }) const nodemailerdebug = core.getInput("nodemailerdebug", { required: false }) + const envelopeFrom = core.getInput("envelope_from", { required: false }) + const envelopeTo = core.getInput("envelope_to", { required: false }) // if neither to, cc or bcc is provided, throw error if (!to && !cc && !bcc) { @@ -140,6 +142,10 @@ async function main() { html: htmlBody ? getText(htmlBody, convertMarkdown) : undefined, priority: priority ? priority : undefined, attachments: attachments ? (await getAttachments(attachments)) : undefined, + envelope: (envelopeFrom || envelopeTo) ? { + from: envelopeFrom ? envelopeFrom : undefined, + to: envelopeTo ? envelopeTo : undefined + } : undefined }); break; } catch (error) {