Isolated inboxes for every test run

QA & Testing

Create unique email addresses for each test. Verify signup flows, password resets, and transactional emails without shared inbox pollution.

Key Features

  • Unique address per test case
  • Polling API for CI/CD integration
  • Assert on email content
  • Automatic cleanup after tests

Example

# RSpec example
describe "User signup flow" do
  it "sends verification email" do
    # Create unique inbox for this test
    inbox = Mailhook.create_random_address

    # Trigger signup in your app
    user = create(:user, email: inbox.address)
    UserMailer.verification(user).deliver_now

    # Assert email was received
    emails = Mailhook.poll_inbox(inbox.id)
    expect(emails.count).to eq(1)
    expect(emails.first.subject).to include("Verify")

    # Extract verification link
    link = emails.first.text_body.match(/https?:\/\/\S+/)[0]
    expect(link).to include("/verify")
  end
end

Ready to get started?

Create your first inbox in under 60 seconds.