Details below are from Auth0’s documentation on 17 October 2026. Check it for current details.
What Auth0 sends
- Verification email: a link to verify the address after sign-up.
- Passwordless with email: a one-time code, or a sign-in link, valid for three minutes by default. Only the last one issued works.
- Password reset: a link to change the password.
- Others you can turn on, such as a welcome email and blocked-account notices.
First: use your own email provider
Auth0’s built-in provider is for trying things out. Its documentation says it doesn’t support production use, sends at most 10 emails a minute of any type, always sends from no-reply@auth0user.net, and can’t use custom templates. Set up an external provider under Branding → Email Provider (Amazon SES, SendGrid, Resend, Mailgun, Microsoft 365 or SMTP), with a From address on your own domain.
Test it by hand
- Create an address in Proxy Mail QA.
- Sign up, or start passwordless sign-in, with it.
- The link or code appears on the address’s row within seconds. Open or copy it.
Ask for a second passwordless code and check the first one stops working: the row marks the older code as replaced.
Automate it
import { test, expect } from 'proxymail-qa/playwright';
test('passwordless email sign-in works', async ({ page, qa }) => {
const { address } = await qa.createAddress();
const requested = new Date();
await page.goto('/login');
await page.getByLabel('Email address').fill(address);
await page.getByRole('button', { name: 'Continue' }).click();
const { value } = await qa.waitForCode(address, { since: requested });
await page.getByLabel('Enter the code').fill(value);
await expect(page).toHaveURL(/dashboard/);
});
Match the labels to your login page. For verification links, use qa.waitForLink(address, { type: 'verify', since }) and open the link. More in Test sign-up emails in Playwright.