Files
send-mail/action.yml
Fritz Elfert 41125078ce Misc. fixes (#267)
* Misc. fixes

- Do not expose 'username' to a potential recipient.
- Make 'from' mandatory, because there is no fallback anymore.
- Validate 'from' to make shure, it contains an email address.
- Avoid namespace pollution: Use let instead of var.

* Suggested changes from codereview
2026-03-10 10:08:10 +01:00

78 lines
2.7 KiB
YAML

name: Send email
description: Send an email to multiple recipients
author: dawidd6
branding:
icon: mail
color: blue
inputs:
connection_url:
description: Connection URL protocol://user:password@server:port, protocol can be smtp or smtp+starttls, replaces server_address, server_port, secure, username and password
server_address:
description: SMTP server address
server_port:
description: SMTP server port
default: "25"
secure:
description: Whether this connection use TLS (default is true if server_port is 465)
username:
description: Authenticate as this user to SMTP server
password:
description: Authenticate with this password to SMTP server
subject:
description: Subject of mail message
required: true
to:
description: Recipients mail addresses (separated with comma)
required: false
from:
description: 'Either a plain email address, or full name of the sender, followed by whitespace, followed by email address enclosed in <>'
required: true
body:
description: Body of mail message (might be a filename prefixed with file:// to read from)
required: false
html_body:
description: HTML body of mail message (might be a filename prefixed with file:// to read from)
required: false
cc:
description: Carbon copy recipients (separated with comma)
required: false
bcc:
description: Blind carbon copy recipients (separated with comma)
required: false
reply_to:
description: An email address that will appear on the Reply-To field
required: false
in_reply_to:
description: The Message-ID this message is replying to
required: false
ignore_cert:
description: Allow unsigned/invalid certificates
required: false
convert_markdown:
description: Convert body from Markdown to HTML (set content_type input as text/html too)
required: false
attachments:
description: Files that will be added to mail message attachments (separated with comma)
required: false
priority:
description: Set Priority level for the mail message to 'high', 'normal' (default) or 'low'
required: false
headers:
description: 'Custom headers for the mail message as a JSON string (e.g., {"X-Custom-Header": "value"})'
required: false
nodemailerlog:
description: Log option for nodemailer
required: false
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