Skip to main content

GitHub Actions

ZeroDrop has a native GitHub Action that generates a disposable inbox before your tests run and injects it as an environment variable.

Basic usage

Accessing the inbox in tests

Private inboxes with a free API key

Without a key, anyone who knows an inbox’s name can read it, and one sender can reach only 5 different inboxes a day: past that, the inbox gets a notice from notice@zerodrop.dev instead of the email. Sign in with GitHub at zerodrop.dev/keys for a free key, save it as the repository secret ZERODROP_API_KEY, and pass it to the action:
With v1.1.0 or later, the inbox name starts with your key’s prefix (k7x2-swift-x7k2m@zerodrop-sandbox.online), only your key can read it, and mail to it isn’t limited. The action exports ZERODROP_API_KEY to the steps that follow, where the SDKs pick it up on their own (TypeScript 0.3.0+; Python, Ruby, Go, PHP and Java 0.2.0+). If the job already sets ZERODROP_API_KEY in its env, the action uses that key and you can leave out api-key. Pin to a specific commit SHA for supply chain security:

Parallel matrix builds

Each matrix job gets its own isolated inbox automatically:
Each browser gets a different inbox — no collisions between parallel jobs.

Full workflow example

Action outputs

Security

The Action generates inbox names locally on the runner — no network request is made during generation. The inbox address is a random string; it does not contact ZeroDrop servers until your tests begin polling. See SECURITY.md for full supply chain documentation.