Ask AI to Test Your Email
By Denis · Published 2026-09-15.
The usual way to test email flows is a stack of configuration: a sandbox SMTP account, a test inbox, credentials in a .env, a script that polls for the message. The MCP integration flips that around, you describe the outcome in a sentence, and the AI agent does the setup, the sending, the waiting and the verification for you, inside a disposable Tempx inbox.
One pairing, then everything by prompt
Pair your agent once, from the account page or the one-command Claude pairing, and grant the connection the send permission if you want the agent to compose test mail. From that moment the agent carries a scoped toolbox: it can create SMTP credentials, watch and read the inbox, and send captured messages. It never sees any other mailbox, everything it sends is captured (never delivered), and you can revoke the connection in one click.
“Set up my SMTP testing”
Instead of hunting through a dashboard, ask:
Create an SMTP test credential for this inbox and give me a Laravel.env snippet.
The agent calls create_smtp_credential, which mints a fresh tmtp_… username and password (shown once, exactly like the account page) bound to the paired inbox. It hands you back the snippet:
MAIL_MAILER=smtp MAIL_HOST=smtp.tempx.uk MAIL_PORT=587 MAIL_USERNAME=tmtp_x9f3… YOUR_USERNAME MAIL_PASSWORD=YOUR_PASSWORD MAIL_ENCRYPTION=tls
Point your app at it and every outgoing message (welcome mails, receipts, password resets) is captured in the agent's inbox instead of reaching a real human. Regenerating later invalidates the old password instantly.
“Check the inbox”
Reading is the agent's home turf. Prompts that work well:
Check the inbox, list the latest five emails with sender, subject and time.
Find the verification email from noreply@saas.test and read me the code.
Under the hood that is list_emails, search_emails and get_email; the long-polling wait_for_email makes the agent efficient, it waits server-side and reacts the second a matching message lands, instead of polling in a loop.
“Send a test email and verify it”
This is where automation gets fun. One prompt runs the whole send-and-verify cycle:
Send a test welcome email to agi@example.com and qa@example.com (subject “Welcome aboard”), wait for it to appear in the inbox, then confirm the sign-up link and the recipient list are correct.
The agent composes with send_email (up to 10 recipients, any domain), the message is captured (Mailtrap-style, never delivered) and the agent reads the captured copy back with get_email to check the subject, body and recipients before telling you it passed.
Where this fits
- Developers: keep the app on the SMTP credential and let the agent own the assertions, it reads the captured copy so your test suite doesn't need a parser.
- QA: run signup, reset and notification scenarios conversationally before automating them into CI.
- Anyone: “sign up on this site with my tempx inbox, wait for the code, and tell me what it is” is a complete workflow in one sentence.
Staying safe while automating
- Sending is capture-only by design, an agent cannot email a real person even if a prompt asks it to.
- The token is scoped to one inbox; leaking it exposes a disposable mailbox, nothing else.
- Give the connection the
sendpermission only when you compose mail, keep expiries short, and revoke when the work is done. - As always: never move an account you want to keep onto a disposable address.
Related: Testing email with SMTP and MCP · Give Claude an inbox · Give your email to your AI agent
Prompting the agent toward real assertions
The gap between a demo and a useful email-testing agent is the quality of what you ask for. Prompts that produce real coverage name the scenario and its expected outcome: "sign up with a fresh address, wait for the code, then let it expire and try to use it. I want to know whether the app accepts dead codes" gives the agent a test; "test my signup" gives you a walkthrough. The agent's advantage is that scenarios are cheap to spell and expensive to script, so spend your words on the edges: expired codes, reused links, second signups, wrong-host links, slow delivery.
Two prompt habits keep results trustworthy. Ask for evidence with every verdict (the address used, the subject matched, what arrived) so a "works" is checkable rather than believed. And ask for failures reported separately from successes, because an agent's summary instinct is to average everything into "seems fine," which is the sentence automated testing exists to eliminate.
What belongs in CI versus what belongs in the agent
Once an agent-found scenario matters, it graduates: the check moves into a scripted test, versioned with the code, running on every commit. The agent's permanent role is the layer above, exploration, one-off audits, pre-release sweeps where its tolerance for writing throwaway test code is a feature. Keeping the layers separate keeps each cheap: the agent is not maintained as infrastructure, and the CI suite is not burdened with an LLM dependency.
The graduation ritual is a copy-paste: take the agent's transcript, extract the steps that reproduced the bug or verified the fix, freeze them into a spec with a fresh inbox per run. Tempx's surfaces make the freeze mechanical (the same inbox reads, the same blocking wait) so the agent's exploratory phrasing and the suite's deterministic phrasing target identical endpoints.
Costs, limits, and honest expectations
The economics favor the agent at the edges and the script in the middle. Agent runs cost tokens and minutes; scripted tests cost milliseconds. A nightly agent sweep of a dozen scenarios is reasonable; the same agent re-verifying every pull request is a bill with no corresponding quality gain. The rate ceilings are part of the planning: inbox reads are limited per client per minute, and capture sends per credential per window, numbers a single agent workflow will never notice but a fan-out of parallel agent runs might.
And the standing honesty of the whole pattern: an agent reading mail is reading untrusted input. Tempx sanitizes message bodies before the agent sees them, but a convincing phishing-shaped message can still mislead a model's reasoning. For adversarial exploration that is a research problem, not a product one; for your own test flows, the mail is yours, and the risk is theoretical. Keep the agent pointed at mail you control, and the pattern stays as safe as it is productive.
Pair an agent in under a minute
One connection, one inbox, full email-testing automation by prompt.
Connect an agent Try the inbox