mirror of
https://github.com/dawidd6/action-send-mail.git
synced 2024-12-25 10:33:07 +07:00
⚙️ A GitHub Action to send an email to multiple recipients
3c0bbc53ef
Allows dynamic subjects to be generated at action runtime (e.g., "Foobar version 1.2.3 is released", where 1.2.3 is not known at action config time). Leverages the existing file:// support for body, but renames getBody to getText, in keeping with this expanded role. |
||
---|---|---|
.github | ||
node_modules | ||
testdata | ||
.gitignore | ||
action.yml | ||
LICENSE | ||
main.js | ||
package-lock.json | ||
package.json | ||
README.md |
Send mail Github Action
An action that simply sends a mail to multiple recipients.
Some features:
- plain text body
- HTML body
- multipart body (plain text + HTML)
- Markdown to HTML converting (use
html_body
, notbody
) - file attachments (supports globbing)
Usage
- name: Send mail
uses: dawidd6/action-send-mail@v3
with:
# Specify connection via URL (replaces server_address, server_port, secure,
# username and password)
#
# Format:
#
# * smtp://user:password@server:port
# * smtp+starttls://user:password@server:port
connection_url: ${{secrets.MAIL_CONNECTION}}
# Required mail server address if not connection_url:
server_address: smtp.gmail.com
# Server port, default 25:
server_port: 465
# Optional whether this connection use TLS (default is true if server_port is 465)
secure: true
# Optional (recommended) mail server username:
username: ${{secrets.MAIL_USERNAME}}
# Optional (recommended) mail server password:
password: ${{secrets.MAIL_PASSWORD}}
# Required mail subject:
subject: Github Actions job result
# Required recipients' addresses:
to: obiwan@example.com,yoda@example.com
# Required sender full name (address can be skipped):
from: Luke Skywalker # <user@example.com>
# Optional plain body:
body: Build job of ${{github.repository}} completed successfully!
# Optional HTML body read from file:
html_body: file://README.html
# Optional carbon copy recipients:
cc: kyloren@example.com,leia@example.com
# Optional blind carbon copy recipients:
bcc: r2d2@example.com,hansolo@example.com
# Optional recipient of the email response:
reply_to: luke@example.com
# Optional Message ID this message is replying to:
in_reply_to: <random-luke@example.com>
# Optional unsigned/invalid certificates allowance:
ignore_cert: true
# Optional converting Markdown to HTML (set content_type to text/html too):
convert_markdown: true
# Optional attachments:
attachments: attachments.zip,git.diff,./dist/static/*.js
# Optional priority: 'high', 'normal' (default) or 'low'
priority: low
Troubleshooting
Gmail
Instead of using your normal Google password, use an App password.
- Enable 2-Step Verification.. This is needed to create an App password.
- Create an App password for
Mail
.
Unauthenticated login (username/password fields)
The parameters username
and password
are set as optional to support self-hosted runners access to on-premise infrastructure. If
you are accessing public email servers make sure you provide a username/password authentication through GitHub Secrets to make the email delivery secure.