---
title: "AI registration page review: let an agent test every field · Proxy Mail QA"
description: "Give an AI agent test inboxes and test values so it can try every field of your registration page and finish the registration through the email."
url: https://proxymail.qa/solve/ai-registration-page-review
---

1. [Home](https://proxymail.qa/)
2. [What we solve](https://proxymail.qa/solve)

# AI registration page review: let an agent test every field

An AI coding agent can open your registration page and try values in its fields. With test inboxes and ready-made values, it can review every field and finish the registration too.

Updated 5 November 2026

> **Our recommendation, up front.** We make Proxy Mail QA, so we’re not neutral. In this article we recommend it for one job: giving an AI agent real test inboxes and ready-made test values, so it can check every field of your registration page and finish the registration through the email. Proxy Mail QA doesn’t review your page’s design, wording, accessibility, speed or security, and it doesn’t fill in or submit the form: the agent does that with its own browser tools. For the rest, see [What it won’t catch](https://proxymail.qa/solve/ai-registration-page-review#what-it-wont-catch).

An AI coding agent, such as the one in Qoder, can open your registration page, read its fields and try values in them. Two things usually stop it from doing a proper review:

- **It has no inbox.** The page says “Check your email”, and the review ends there. Nobody finds out whether the email arrives or the link works.
- **It tries the same few values.** `test@example.com`, `John Smith` and `Password123!` pass on almost every form. The names and passwords real people type are the ones that break it.

This article covers what a field-by-field review should check, and how to give the agent what it needs to check it.

## What a field-by-field review checks

| Field          | What to try                                                                                                    | What should happen                                                                                                   |
| -------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| Email          | Capitals, a plus tag, an apostrophe (o'brien), the 64-character maximum; and invalid ones, such as two @ signs | Valid ones are accepted and the email arrives. Invalid ones are refused before anything is sent                      |
| Names          | O'Brien, Smith-Jones, José, 李, محمد, one letter, exactly the field’s maximum and one over                      | Real names are accepted as typed. One over the maximum is refused with a clear message                               |
| Names, as code | <b>Jane</b>, <script>alert(1)</script>                                                                         | Stored and shown as plain text, never run                                                                            |
| Password       | Exactly the minimum, exactly the maximum, one under, one over, each kind of symbol, a space inside             | In-rule passwords are accepted and sign in afterwards. Out-of-rule ones are refused, at the field, with the rule     |
| Date of birth  | An adult, someone under 18, someone who turns 18 tomorrow                                                      | Your age rule applies on the right day                                                                               |
| Country        | Each country your rules treat differently                                                                      | The right terms, content or refusal                                                                                  |
| Confirm fields | A confirm email or password that doesn’t match                                                                 | An error at the field                                                                                                |
| The whole form | Submitting twice; an address that’s already registered                                                         | One account and one email. Wording that doesn’t confirm whether someone has an account, if that matters for your app |

## What Proxy Mail QA gives the agent

- **A real test address for each run.** The verification email lands in a private, receive-only inbox. The agent waits for it with `wait_for_code` or `wait_for_link` and gets back only the code or link, never the email’s text, so it can finish the registration instead of stopping at “Check your email”.
- **Values that fit each field.** `form_values` takes what the page says about each field (its type, label, name, placeholder, autocomplete, pattern, minimum and maximum length, and a drop-down’s options) and returns what to type or pick: the email, names, a username, a password that fits the field’s rules, a date of birth in the field’s format and a country the drop-down offers. A field it doesn’t recognise, such as a terms box, comes back empty with a note, and the agent decides what to do with it.
- **Awkward values, grouped by what should happen.** `get_name_variants` returns values in four groups: `accept`, `reject`, `store_as_text` and `decide` (apps reasonably differ, so note what yours did). `get_password_variants` uses the same groups, without `store_as_text`. `get_address_variants` groups addresses as `delivered` (the mail still reaches the inbox), `undeliverable` and `invalid`. Pass the field’s maximum length, and the password’s minimum and maximum, so the edges match your form.
- **Accounts of an exact age or country.** `create_address` takes an `age` (`under13`, `under15`, `under18`, `turns18tomorrow`, `turned18today`, `adult`, `over21`) and a `country` (such as `GB` or `DE`), and the test persona’s date of birth and country match.
- **A report.** `start_run` and `finish_run` record the session and return it as Markdown, ready to paste into a pull request.

To try many names or passwords without making an address for each, give each attempt its own plus tag: `k7f2x9ab12cd+name1@mailclub.dev`, `+name2` and so on. To your app each is a new account, and the mail still arrives in the one inbox. If your app refuses plus tags, that’s a finding in itself.

## Connect it in Qoder

1. In the Qoder Marketplace, open Proxy Mail QA in the Connectors tab ([global site](https://qoder.com/en/marketplace/connector?id=proxymail-qa), [China site](https://qoder.com.cn/marketplace/connector?id=proxymail-qa)) and connect it. Or install the [Proxy Mail QA plugin](https://qoder.com/en/marketplace/plugin?id=3b572e73-56f2-47d6-add5-df0109705fb3), which adds the same tools and eight skills.
2. Sign in to Proxy Mail QA in your browser when Qoder asks, and choose the project the agent may use. A free account is enough.
3. Set Qoder’s permission level to **Ask every time**, not Auto approve, and approve each Proxy Mail QA step when asked.

Two of the plugin’s skills fit this review: **signup-form-email-validation** (addresses, names and passwords) and **age-and-region-testing** (age gates and country rules).

## Ask for the review

Prompt

```text
Review the registration page at https://staging.acme.dev/register with Proxy Mail QA.
Start a run. Use form_values for the fields, register once and finish the verification
with the code or link from the email.
Then try the values from get_address_variants, get_name_variants (with each name field's
maximum length) and get_password_variants (with the password field's minimum and maximum)
in their fields. Use a plus tag on the address for each new attempt.
Make one account with age under18 and one with age turns18tomorrow, and check what the
form does with each.
Finish the run and give me a table: field, value, what it tests, what the app did, and
what to fix.

```

The agent types the values and presses the buttons. Proxy Mail QA never presses anything on your page.

## Reading the results

- **`accept` values (and `delivered` addresses) that were refused** are the bugs real people hit: a form that refuses `O'Brien` or a plus tag turns away real customers.
- **`reject` values (and `invalid` addresses) that were accepted** mean the field’s limit isn’t enforced. Check whether the server enforces it, not only the page.
- **`store_as_text` values that changed** the page (bold text, an alert) need fixing before anything else.
- **`decide` values** have no right answer. Agree what your app should do, then keep it that way.
- **For passwords that were accepted**, sign in with them. A password that’s trimmed or cut short on the way in won’t sign in as typed.

## What it won’t catch

- **Design and wording.** The agent can comment on labels and copy, but Proxy Mail QA adds nothing there. Look at the page yourself, on a phone as well.
- **Accessibility.** Use axe DevTools, WAVE or Lighthouse, and try the form with a screen reader and the keyboard alone.
- **Speed.** Use Lighthouse or PageSpeed Insights.
- **Security.** Checking that HTML and SQL are stored as text is a useful sign, not a security test. Use a scanner or a penetration test for that.
- **SMS codes, CAPTCHAs and social sign-in.** Proxy Mail QA is email only. Turn CAPTCHAs off on staging or use your provider’s test keys.
- **Fields only your app has**, such as company size or “How did you hear about us?”. `form_values` leaves them empty, so the agent fills these itself, from what the page shows.

## Before you start

- Review a staging or local copy of an app you build or are allowed to test. Each accepted value makes a real account in your app, so delete them afterwards.
- Your email provider has to be able to send to any address. In sandbox or test mode (Amazon SES before production access, Resend without a verified domain, a Mailgun sandbox, Postmark before approval, or Supabase’s built-in email) it only sends to addresses you’ve verified, so nothing arrives. `check_delivery` tells the agent when that’s the likely cause.
- Proxy Mail QA doesn’t work with a few big consumer services, such as Google, Instagram, TikTok, Amazon and PayPal. It’s for testing your own app.

More detail: [unusual addresses](https://proxymail.qa/docs/unusual-addresses), [unusual names and passwords](https://proxymail.qa/docs/unusual-names-and-passwords) and [the MCP server](https://proxymail.qa/docs/mcp).

## Try it on your next sign-up test

Free plan, no credit card. Create an address and watch the code or link arrive.

[Create a free account](https://app.proxymail.qa/?mode=signup&from=site-solve-ai-registration-page-review)

## Related guides

- [Test sign-up and email verificationA fresh, private address for every sign-up test, with the verification link or code ready the moment it lands.](https://proxymail.qa/solve/email-verification-testing)
- [Test OTP and one-time login codesCodes pulled out of the email with a Copy button and a countdown when the email says how long they last.](https://proxymail.qa/solve/otp-code-testing)
- [Test magic links and passwordless sign-inSingle-use links that are never opened or prefetched on our side, so they still work when you click them.](https://proxymail.qa/solve/magic-link-testing)
- [Test password reset emailsRequest, receive and use reset links, and keep the new password saved next to the test account.](https://proxymail.qa/solve/password-reset-testing)
- [Stop sharing one Gmail inbox for QAPrivate, disposable addresses for every tester instead of one shared mailbox and a pile of plus-addresses.](https://proxymail.qa/solve/shared-test-inbox)
- [Take QA notes by voice with Wispr FlowDictate what each test account is for, its state and what you found, straight into its notes, in seconds.](https://proxymail.qa/solve/voice-notes-wispr-flow)
- [Verification link points to localhost:3000Why emails from staging link to localhost, how to fix it in Supabase, Firebase and other stacks, and how we flag it.](https://proxymail.qa/solve/localhost-links)
- [Common Supabase sign-up and login problemsEmails that never arrive, links that expire or sign nobody in, and sign-ups that fail, with the fix for each.](https://proxymail.qa/solve/supabase-auth-problems)
- [Common Firebase sign-up and login problemsMissing verification and reset emails, verified users who still look unverified, failing links and sign-up limits, with the fix for each.](https://proxymail.qa/solve/firebase-auth-problems)
- [Sign-up and login problems in vibe-coded appsThe login bugs AI-built apps usually ship with: emails only you receive, links to the preview, missing pages, and what to ask the builder.](https://proxymail.qa/solve/vibe-coded-login-problems)
- [Test sign-up emails in PlaywrightA complete Playwright test for sign-up codes and links, from a fresh inbox to the report on the pull request.](https://proxymail.qa/solve/playwright-email-tests)
- [Test sign-up emails in CypressA complete Cypress test for sign-up links and codes, with the email waits running as Cypress tasks.](https://proxymail.qa/solve/cypress-email-tests)
- [Test sign-up emails with pytestA complete pytest test for sign-up codes and links, with Playwright for Python or Selenium and a one-file helper.](https://proxymail.qa/solve/pytest-email-tests)
- [Test coupon codes and welcome offersThe coupon with its discount, end date and arrival time, what checkout did with it, and a failure when an expired or reused one is accepted.](https://proxymail.qa/solve/coupon-code-testing)
- [Test unsubscribe links and one-click unsubscribeThe unsubscribe headers and link checked on every marketing email, and a watch that flags any marketing after unsubscribing, with no time limit.](https://proxymail.qa/solve/unsubscribe-testing)
- [Test that a welcome offer can't be claimed twiceVersions of one address that reach the same inbox, and a check that fails when the same person got the offer more than once.](https://proxymail.qa/solve/welcome-offer-abuse)
- [AI sign-up page reviewLet an agent check the sign-up through to the email: delivery, the link, how it was sent, and that only one arrives.](https://proxymail.qa/solve/ai-sign-up-page-review)
- [Review a sign-up page by handA checklist for your browser and phone, in the order that finds the most problems.](https://proxymail.qa/solve/how-to-review-my-sign-up-page)
- [Review a simple sign-up form12 checks for a form with an email, a password and perhaps a name.](https://proxymail.qa/solve/review-a-simple-sign-up-form)
- [Review a multi-page sign-up formOne test account across every screen, and the verification email wherever it comes.](https://proxymail.qa/solve/review-a-multi-page-sign-up-form)
- [Review a financial sign-up formThe emails, age and country rules and awkward values in a financial sign-up, and what needs other tools.](https://proxymail.qa/solve/review-a-financial-website-sign-up-form)
- [An email address for testing registrationA new, real address for every registration try, with the code or link ready to use.](https://proxymail.qa/solve/email-for-checking-my-registration-form)
- [An email address for testing sign-inTest accounts with saved passwords and an inbox for codes, magic links and resets.](https://proxymail.qa/solve/email-for-checking-my-sign-in-form)
- [How long should a password be?NIST's numbers for password length and rules, and test passwords to check yours.](https://proxymail.qa/solve/how-long-should-my-registration-form-password-be)
- [No error for a password that breaks the rulesThe eight usual causes of a silent password field, and how to tell which one it is.](https://proxymail.qa/solve/why-is-my-registration-form-not-showing-password-errors)
- [Help me check my websiteA whole-site check in an afternoon, in the order that finds the costliest problems first.](https://proxymail.qa/solve/help-me-check-my-website)
- [Tools to build and check a websiteA toolkit by area, most of it free and none of it ours, except for account emails.](https://proxymail.qa/solve/tools-to-help-build-and-check-my-website)
- [What tools do I need for a website?The full list, then which parts a simple site can skip.](https://proxymail.qa/solve/what-tools-do-i-need-when-building-a-website)

[Built your app with an AI tool? Pick yours](https://proxymail.qa/built-with)
