⚙️ A GitHub Action to send an email to multiple recipients
Go to file
dependabot[bot] 874d3db0a9
build(deps): bump @actions/glob from 0.2.1 to 0.4.0 (#152)
Bumps [@actions/glob](https://github.com/actions/toolkit/tree/HEAD/packages/glob) from 0.2.1 to 0.4.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/glob/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/glob)

---
updated-dependencies:
- dependency-name: "@actions/glob"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 09:14:28 +02:00
.github Add connection_url input parameter (#131) 2022-09-09 18:53:48 +02:00
node_modules node_modules: upgrade 2022-10-21 16:52:45 +02:00
.gitignore Document Gmail App password, since Less Secure Access is going away (#98) 2022-03-18 22:58:04 +01:00
action.yml action: run on node16 2022-10-14 12:36:54 +02:00
LICENSE LICENSE: correct holder 2020-03-05 23:26:16 +01:00
main.js Add connection_url input parameter (#131) 2022-09-09 18:53:48 +02:00
package-lock.json build(deps): bump @actions/glob from 0.2.1 to 0.4.0 (#152) 2023-04-25 09:14:28 +02:00
package.json build(deps): bump @actions/glob from 0.2.1 to 0.4.0 (#152) 2023-04-25 09:14:28 +02:00
README.md Clarify that Markdown only works for html_body (#151) 2023-01-26 09:07:49 +01:00

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, not body)
  • 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.

  1. Enable 2-Step Verification.. This is needed to create an App password.
  2. 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.