Email Testing in CI/CD

Run email tests on every commit. Catch email bugs before they reach production with automated pipeline integration.

Email tests don't fit CI/CD well

  • CI runners can't receive email directly
  • Mail server setup in Docker is complex
  • Tests need to be fast and deterministic
  • Parallel test runs cause mailbox conflicts

Cloud-native email testing

  • No infrastructure to set up—just API calls
  • Works in any CI environment (GitHub Actions, GitLab, Jenkins)
  • Unique addresses per test run prevent conflicts
  • Fast API responses keep pipelines quick

Example

GitHub Actions Workflowyaml
name: E2E Tests with Email

on: [push, pull_request]

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

      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Install dependencies
        run: npm ci

      - name: Run E2E tests
        run: npm run test:e2e
        env:
          PLOP_API_KEY: ${{ secrets.PLOP_API_KEY }}
          TEST_MAILBOX: ci-${{ github.run_id }}@in.plop.email

      - name: Upload test results
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: test-results
          path: test-results/

Benefits

Zero Setup

No Docker mail servers or complex configuration.

Parallel Safe

Run ID in address prevents test conflicts.

Fast Feedback

API-based tests run in seconds, not minutes.

Any Platform

Works with GitHub, GitLab, Jenkins, CircleCI, etc.

Related Integrations

Ready to test ci/cd pipelines?

Get started with plop.email in minutes. No credit card required.