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