Skip to content

About

Validate email addresses, check deliverability, and verify email authentication records

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

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

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

APIVerve Email Validation Action

Validate email addresses, check deliverability, and verify email authentication records

GitHub Marketplace License: MIT

Browse All APIs | Get Free API Key | Documentation


What does this action do?

This action provides access to APIVerve's Email Validation APIs directly in your GitHub workflows:

  • Validate email addresses before sending
  • Detect disposable/temporary email addresses
  • Verify SPF, DKIM, and DMARC records
  • Check email deliverability configuration

Available APIs

API Description
emailvalidator Email Validator checks whether an email address is valid, deliverable and safe. It validates the format, resolves the domain's mail (MX) records, flags disposable and role-based addresses, and returns a composite risk score with typo correction.
emaildisposablechecker Disposable Email Checker tests whether an email address belongs to a disposable email provider. Pass any email to receive its domain and a true or false flag showing if it is temporary.
spfvalidator SPF Validator checks the Sender Policy Framework (SPF) DNS record for a domain to verify if it’s valid and optionally whether a given IP address is authorized to send emails for that domain.
dkimvalidator DKIM Validator checks the DomainKeys Identified Mail (DKIM) DNS records for a domain to verify that they are present and correctly formatted.
dmarcvalidator DMARC Validator checks the Domain-based Message Authentication, Reporting and Conformance (DMARC) record for a domain to ensure it is correctly configured.

Quick Start

- name: Email Validation
  uses: apiverve/action-email-validation@v1
  with:
    api_key: ${{ secrets.APIVERVE_KEY }}
    api: emailvalidator
    params: '{"email": "test@example.com"}'

Setup

1. Get Your API Key

Sign up for a free account at dashboard.apiverve.com/signup and create an API key.

2. Add Secret to Repository

Go to your repository Settings → Secrets and variables → Actions → New repository secret

  • Name: APIVERVE_KEY
  • Value: Your API key from the dashboard

3. Use in Workflow

- name: Email Validation
  uses: apiverve/action-email-validation@v1
  with:
    api_key: ${{ secrets.APIVERVE_KEY }}
    api: emailvalidator
    params: '{"your": "parameters"}'

Pass/fail checks

Set check and the action stops being a plain API call: it evaluates the result and fails the job when something is wrong, so problems surface in CI instead of in production.

Gate on SPF, DKIM and DMARC

Fail the job if SPF or DMARC is missing or invalid, or DMARC is not enforced

- name: Gate on SPF, DKIM and DMARC
  uses: apiverve/action-email-validation@v1
  with:
    api_key: $
    check: email-auth
    domain: example.com
    dkim_selector: google
    require_dmarc_enforced: true

Inputs

Input Description Required Default
api_key Your APIVerve API key (or set APIVERVE_API_KEY env var) Yes* -
api API to use: emailvalidator, emaildisposablechecker, spfvalidator, dkimvalidator, dmarcvalidator No emailvalidator
params JSON parameters for the API No {}
output_file Path to save binary output (images, PDFs) No -
format Response format: json, yaml, or xml No json
fail_on_error Fail workflow if API returns error No true
check Run a pass/fail check instead: email-auth No -
domain Domain to check With check -
dkim_selector DKIM selector to verify (skipped if empty) No -
require_dmarc_enforced Fail unless DMARC is quarantine or reject No false
*API key is required but can be provided via input OR APIVERVE_API_KEY / APIVERVE_KEY environment variable.

Outputs

Output Description
result Full API response as JSON
data The data field from response as JSON
status API status (ok or error)
file Path to downloaded file (if output_file was used)
days_remaining Days until expiry (ssl-expiry, domain-expiry)
records Matching DNS records as JSON (dns-record)

Examples

Email Validation

Validate an email address

- name: Email Validation
  id: email-validation-0
  uses: apiverve/action-email-validation@v1
  with:
    api_key: ${{ secrets.APIVERVE_KEY }}
    api: emailvalidator
    params: '{"email": "test@example.com"}'

- name: Use result
  run: echo "Result: ${{ steps.email-validation-0.outputs.data }}"

SPF Check

Verify SPF record configuration

- name: SPF Check
  id: email-validation-1
  uses: apiverve/action-email-validation@v1
  with:
    api_key: ${{ secrets.APIVERVE_KEY }}
    api: spfvalidator
    params: '{"domain": "example.com"}'

- name: Use result
  run: echo "Result: ${{ steps.email-validation-1.outputs.data }}"

DMARC Check

Verify DMARC record configuration

- name: DMARC Check
  id: email-validation-2
  uses: apiverve/action-email-validation@v1
  with:
    api_key: ${{ secrets.APIVERVE_KEY }}
    api: dmarcvalidator
    params: '{"domain": "example.com"}'

- name: Use result
  run: echo "Result: ${{ steps.email-validation-2.outputs.data }}"

Full Workflow Example

name: Email Validation Workflow

on:
  push:
    branches: [main]
  workflow_dispatch:

jobs:
  email-validation:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Run Email Validation
        id: result
        uses: apiverve/action-email-validation@v1
        with:
          api_key: ${{ secrets.APIVERVE_KEY }}
          api: emailvalidator
          params: '{"email": "test@example.com"}'

      - name: Show result
        run: |
          echo "Status: ${{ steps.result.outputs.status }}"
          echo "Data: ${{ steps.result.outputs.data }}"

Related Actions

Looking for more APIVerve actions?

Browse all APIVerve Actions →


Pricing

  • Free tier - Get started with generous free limits
  • Pro plans - Higher rate limits and priority support for production use

Check out pricing details.


Resources


License

MIT - see LICENSE


Built by APIVerve - 350+ APIs for developers

About

Validate email addresses, check deliverability, and verify email authentication records

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages