`mailto:` links open a user's email client with prefilled fields.

They are fast to implement, but they are not a complete replacement for backend contact forms or APIs.

For the full parameter reference, subject and body examples, CC, BCC, multiple recipients, and JavaScript generation, read the [HTML mailto link syntax guide](/blog/html-mailto-links-explained/).

## Basic mailto syntax

```html
<a href="mailto:support@example.com">Email support</a>
```

## Add subject and body

```html
<a
  href="mailto:support@example.com?subject=Need%20help&body=Hi%20team%2C%0A%0AI%20have%20a%20question..."
>
  Contact support
</a>
```

Use URL encoding for spaces, line breaks, and special characters.

## Common parameters

- `subject=...`
- `body=...`
- `cc=...`
- `bcc=...`

Example with multiple fields:

```html
<a href="mailto:sales@example.com?subject=Demo%20request&cc=ops@example.com"> Request demo </a>
```

## Mailto limitations you must plan for

- depends on a configured email client,
- behavior varies by OS/browser/client,
- limited control over attachments and validation,
- not ideal for structured data capture.

For high-conversion contact paths, a server-side form/API is usually more reliable.

## Security and spam considerations

Publishing raw email addresses can increase scraping risk.

Mitigations:

- use contact forms for primary support intake,
- avoid exposing high-value operational inboxes publicly,
- monitor aliases and rotate when abuse increases.

## When to use mailto vs form/API

| Use case                    | Best option           |
| --------------------------- | --------------------- |
| Quick personal contact link | Mailto                |
| Sales/support lead capture  | Form/API              |
| Structured issue intake     | Form/API              |
| Auditable workflow routing  | Form/API + automation |

## Testing checklist

1. Verify link encoding for subject/body.
2. Test behavior on major desktop and mobile clients.
3. Confirm fallback UX when no client is configured.
4. Check that spam-prone addresses are not overexposed.
5. Add conversion tracking for form fallback.

If the fallback sends a confirmation, support, billing, or campaign email, preview the delivered message as part of the same release check. Encoded links, fallback copy, images, and mobile layout can break after the browser handoff has already worked.



{{LANDING_SHORTCODE:POST_CTA_BANNER:%7B%22title%22%3A%22Preview%20the%20fallback%20email%20before%20release%22%2C%22content%22%3A%22Use%20%5BFree%20Email%20Render%5D(%2Ftools%2Ffree-email-render%2F)%20or%20device%20previews%20to%20review%20the%20email%20customers%20receive%20after%20a%20contact%2C%20support%2C%20billing%2C%20or%20campaign%20action.%22%2C%22buttonHref%22%3A%22%2Fproduct%2Fdevice-previews%2F%22%2C%22buttonText%22%3A%22Explore%20device%20previews%22%2C%22buttonTheme%22%3A%22blue%22%2C%22image%22%3A%22%2Fassets%2Fhome%2Fdevice-render-devices.png%22%2C%22imageAlt%22%3A%22Email%20preview%20workflow%20across%20supported%20client%20and%20device%20contexts%22%2C%22imageWidth%22%3A%22800%22%2C%22imageHeight%22%3A%22415%22%2C%22imagePosition%22%3A%22%22%7D}}



## Related routes

- [HTML mailto link syntax guide](/blog/html-mailto-links-explained/)
- [Mailto link guide](/blog/mailto-links-explained/)
- [How to use mailto links](/blog/how-to-use-mailto-links/)
- [Send form to email](/guides/send-form-to-email/)
- [What is a webhook?](/blog/what-is-a-webhook/)
- [Email integration testing](/product/email-integration-testing/)
- [Free Email Render](/tools/free-email-render/)
- [Device previews](/product/device-previews/)

## Final take

Mailto is useful for lightweight interactions. For scalable business workflows, pair it with form/API fallbacks so users are not blocked by client configuration issues.
