Skip to content

⚙️ A GitHub Action to send an email to multiple recipients

License

Notifications You must be signed in to change notification settings

asml-actions-validation/action-send-mail

This branch is 1 commit ahead of dawidd6/action-send-mail:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5f66bcd · Apr 16, 2025
Apr 16, 2025
Oct 21, 2022
Aug 8, 2023
Mar 18, 2022
Mar 5, 2020
Apr 8, 2025
Apr 8, 2025
Apr 8, 2025
Apr 15, 2025
Apr 15, 2025

Repository files navigation

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@v4
  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: [email protected],[email protected]
    # Required sender full name (address can be skipped):
    from: Luke Skywalker # <[email protected]>
    # 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: [email protected],[email protected]
    # Optional blind carbon copy recipients:
    bcc: [email protected],[email protected]
    # Optional recipient of the email response:
    reply_to: [email protected]
    # Optional Message ID this message is replying to:
    in_reply_to: <[email protected]>
    # 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
    # Optional nodemailerlog: true/false
    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: [email protected]
    # Optional custom SMTP RCPT TO addresses (overrides to, cc, bcc):
    envelope_to: [email protected],[email protected]

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.

About

⚙️ A GitHub Action to send an email to multiple recipients

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%