Skip to content

Github action that will send email notification using SendGrid Email API

License

Notifications You must be signed in to change notification settings

licenseware/send-email-notification

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Send Email Notification

pre-commit License

Using the Sendgrid Python library, send email to people with the content & subject of your choice.

This repository is used inside Github Actions in the following format:

Send email to one address

      - uses: licenseware/send-email-notification@v1
        with:
          api-key: ${{ secrets.SENDGRID_API_KEY }}
          subject: Test Subject
          from-email: verified-email@licenseware.io
          to-email: john-doe@licenseware.io
          markdown-body: |
            # My Markdown Title

            This is a description

            ## Another header

            Another description

Send email to multiple addresses upon Github release

on:
  release:
    types:
      - published

jobs:
  release-notification:
    name: release notification
    runs-on: ubuntu-latest
    strategy:
      matrix:
        to-emails:
          - receiver1@licenseware.io
          - receiver2@licenseware.io
          - receiver3@licenseware.io

    steps:
      - uses: licenseware/send-email-notification@v1
        with:
          api-key: ${{ secrets.SENDGRID_API_KEY }}
          subject: New Release ${{ github.repository }}:${{ github.ref_name }}
          from-email: verified-email@licenseware.io
          to-email: ${{ matrix.to-emails }}
          markdown-body: ${{ github.event.release.body }}

Send email with attachments

      - uses: licenseware/send-email-notification@v1
        with:
          api-key: ${{ secrets.SENDGRID_API_KEY }}
          subject: Test Subject
          from-email: verified-email@licenseware.io
          to-email: some-dude@licenseware.io
          markdown-body: |
            Hey, check out this file
          attachments: |
            ./path/to/file1.txt
            ./path/to/file2.txt
          # optionally, a list of zero, one, or the same size {inline, attachment}
          attachments-disposition: |
            attachment
            attachment

Run Docker Container Locally

Grab the latest tag from here:

GitHub Tag

export SENDGRID_API_KEY="CHANGE_THIS"

docker run --rm \
  --name send-email-notification \
  ghcr.io/licenseware/send-email-notification \
  --api-key=${SENDGRID_API_KEY} \
  --from=info@example.com \
  --to=john@example.com \
  --subject="Send email notifications" \
  --markdown-body="""
# Send email notifications

Checkout this cool repository:

<https://github.com/licenseware/send-email-notification>
"""