On macOS, clicking an email address (a mailto: link) inside Firefox should open your preferred email app or webmail compose page. If nothing happens—or the wrong app opens—it’s usually not “random.” It’s a specific handoff between Firefox, macOS default apps, and your configured mail handler.

Envelope with a tangled link icon blocking access

Use this if/then tree to pinpoint why it’s happening and fix only what’s necessary.

If you’re in a hurry, try the first branch that matches your symptom exactly.

1. If clicking an email address does nothing (no app, no new tab)

Why this happens: Firefox doesn’t have a mail handler set for mailto, the handler is blocked by an extension, or the click is being intercepted by the site (especially in web apps).

  • Then do this first: In Firefox, open Settings → search for Applications → find mailto. Set it to your preferred option (e.g., a webmail service) instead of “Always ask” or a blank/unknown handler.
  • If mailto isn’t listed: In the same Applications list, look for “Content Type” entries and ensure Firefox isn’t set to “Use other…” pointing to a missing app. If needed, reset the handler by selecting a different option, then switching back.
  • If it still does nothing: Try a private window. If mailto works in Private Mode, an extension is likely interfering.

Settings panel with toggles and a mail icon

If Private Mode works, move to section 4 (extensions). If it doesn’t, keep going.

2. If it opens the wrong email app (or an app you don’t use)

Why this happens: macOS decides which app handles mail links based on your default email reader (often Apple Mail). Firefox can also override this if you’ve told it to use a specific handler.

  • Then check macOS default first: Open Apple MailMailSettings/PreferencesGeneral → set Default email reader to the app you actually want.
  • If you don’t want a desktop app at all: In Firefox SettingsApplicationsmailto, choose your webmail handler (or “Use Firefox”/a service option if available).
  • If it keeps reverting: Another app (or device management profile at work/school) may be resetting defaults. In that case, confirm whether your Mac is managed, then skip to section 6.

Default app switch choosing which app opens email links

The key idea: macOS chooses the default mail app, but Firefox can choose a web handler—so you want them to agree with your intent.

3. If it opens webmail, but the compose window is broken (blank, missing To field, blocked pop-up)

Why this happens: The site’s compose URL opens in a new tab/window and gets blocked, cookies are restricted, or a privacy setting/extension prevents the service from reading the mailto details.

  • Then allow the pop-up once: When you click the mail link, look for Firefox’s pop-up blocked icon and allow pop-ups for that site (only if you trust it).
  • If you use strict tracking protection: Click the shield icon in the address bar and temporarily relax protection for the webmail domain, then retry the mailto link.
  • If you’re using containers: Ensure the mailto click opens in the same container as your logged-in webmail session (otherwise the compose page may open “logged out” and look broken).

If that fixes it, you’re done. If not, the handler may be fine but an extension is intercepting the click.

4. If mailto works sometimes, but fails on certain sites (or only when an ad blocker is on)

Why this happens: Content blockers and security extensions can block “external protocol” launches or rewrite links. Some sites also implement email links via scripts that blockers treat as tracking.

  • Then test cleanly: Disable extensions temporarily (or use Troubleshoot Mode) and test the same mail link again.
  • If it starts working: Re-enable extensions one-by-one to find the one that breaks mailto. Common culprits are ad blockers, script blockers, “privacy redirect” tools, and link-tracking cleaners.
  • Fix without removing the extension: Add an allowlist rule for the site, or turn off the specific feature that blocks external protocol handlers/redirects.

Try to avoid blanket “allow everything” settings. You usually only need a small exception for mail links.

5. If Firefox keeps asking what to use every time (Never remembers your choice)

Why this happens: Firefox may not be saving handler preferences due to permissions, a locked profile, aggressive cookie/data clearing, or a policy in a managed environment.

  • Then check your auto-delete settings: Firefox SettingsPrivacy & Security. If you clear site data on exit or use “Always use private browsing,” Firefox may not retain the handler decision reliably.
  • If you use “Clear history when Firefox closes”: Keep it on if you need it, but consider excluding site preferences (or reduce what’s cleared) so handler decisions persist.
  • If you’re on a work/school Mac: It may be enforced by policy. Jump to section 6.

Once Firefox can store the preference, the “always ask” loop usually stops.

6. If nothing you change “sticks” (managed Mac, profile, or policy issue)

Why this happens: Device management (MDM) profiles can enforce default apps, block external protocol handlers, or restrict browser configuration. Some security tools also revert settings after a reboot.

  • Then confirm whether it’s managed: On macOS, check System SettingsPrivacy & Security (or Profiles, if present) for management profiles. If you see an organization name, settings may be controlled.
  • Collect a useful symptom for support: Note exactly what happens (nothing happens vs wrong app vs repeated prompts), and whether it works in Private Mode.
  • Ask for the specific permission: “Allow mailto protocol handler in Firefox” or “Allow default email reader change” is more actionable than “email links don’t work.”

This is the stop point where contacting IT is usually faster than continuing to tweak local settings.

Final thoughts

Most mailto problems on Mac come down to a mismatch between macOS default email reader and Firefox’s mailto handler, or an extension blocking the handoff.

If you follow the tree in order—handler, default app, pop-ups/privacy, extensions—you’ll usually fix it without resetting Firefox or reinstalling anything.