No-client guide · Design for the missing handler
Mailto without an email client: what the browser can and cannot do.
A valid mailto link asks for a compose window. It does not supply the app that opens it. Fix one device by assigning a handler. For a public site, keep the address visible and offer a fallback that does not depend on local mail software.
Step 1 · Follow the request
A mailto link describes a message, not the software that sends it
The link can include recipients, copies, hidden copies, a subject, and a body. When it is clicked, the browser looks for a registered webmail handler or delegates the request to the operating system. The link itself does not install or select a client.
<a href="mailto:hello@example.com?subject=Project%20question">Email us</a>Verify the address and fields with the live mailto tester. A passing test proves the link can be parsed. It does not prove that every visitor has a usable handler.
Step 2 · Fix one device
Register webmail or assign a desktop app to MAILTO
For your own computer, choose one receiver. Register the webmail service as the browser's email handler, or install a desktop mail app and assign it to email links in default-app settings. Then test the minimal link again.
Browser path
Register a webmail handler
Use this when you compose in a browser service such as Gmail. A managed profile may restrict the setting.
Device path
Assign the default mail app
Use this when you compose in installed software. Installing the app alone may not assign the MAILTO protocol.
If the failure is in Chrome, use the Chrome-specific steps. If the cause is still unknown, start with the four-layer diagnosis.
Step 3 · Design for visitors
A website cannot configure every visitor's device
There is no dependable cross-browser test for a usable email client. Keep the contact information visible, then choose a fallback based on what the interaction must accomplish.
Lowest setup
Show the address
Make the email address visible as text so the contact path does not disappear with the click.
Good for a simple public address
One useful action
Copy the address
Add an explicit copy control for visitors who already know where they want to compose.
Good as a last-resort fallback
Recorded receipt
Use a contact form
Send through your own system when validation, routing, or confirmation is required.
Good for support and lead intake
Visitor choice
Offer webmail
Open a provider compose page from the same mailto fields without requiring a desktop app.
Good when visitors use different providers
Step 4 · Add webmail without erasing mailto
Keep the original anchor as the safety net
smart-mailto reads the existing valid link and builds provider-specific compose URLs from its fields. Visitors can choose webmail or copy the address without a desktop client. If interception does not happen or the picker cannot load, the original mailto URL remains available.
import { initSmartMailto } from '@smart-mailto/core';
initSmartMailto();
// Existing markup stays valid without the library.
// <a href="mailto:hello@example.com">Email us</a>Try the no-client path
Open webmail or copy the address from one valid link.
Copy is included unless disabled. Native mail is offered first on mobile, while desktop sites can enable it explicitly.
Follow the installation guide or compare smart-mailto with a plain link.
Questions
No email client FAQ
What happens when no email client is configured?
The browser passes the mailto request to a registered webmail handler or the operating system. If neither has a usable receiver, the click may do nothing, show a prompt, or produce an error depending on the browser and device.
Can a website detect whether a visitor has an email client?
Not reliably. A site should not promise that it can identify every usable desktop app or webmail handler before a click.
Should a public site use a contact form instead?
Use a form when your system must validate, route, or confirm receipt. Keep mailto when the visitor should send from their own account, but show the address or add another fallback.
Does smart-mailto remove the original mailto link?
No. It uses the existing valid anchor and offers webmail or copy choices when it intercepts the click. The original mailto URL remains available when interception does not happen or the picker cannot load.