Skip to Content
Referencefusion-uiComponentsControlsMailToLink

MailToLink

The MailToLink component renders a link that opens the user’s default email client with a pre-filled email.


<MailToLink
    email="Emilio_Konopelski27@hotmail.com"
    subject="Curiositas pecco harum stillicidium illo vergo."
    body="Pauper deleniti bibo solutio solus depraedor usque antepono. Turba conspergo tenetur subvenio tollo tenax terreo. Temperantia ullam suppellex decerno."
  />

Features

Scraper Protection

In order to prevent email harvesting bots from scraping the email address, the component makes it slightly harder to find in two ways.

  • First, the email address that is rendered as text is split at the @ symbol and rendered separately, to make pattern matching more difficult. You can see this in the Anatomy.
  • Second, the href attribute with the mailto: link is not applied to the element initially. Instead, it is set when the user interacts with the link by clicking, focusing, hovering, or pressing down on it.

Anatomy

1.LinkThe root link component.
2.UserThe user part of the email address.
3.AtThe "@" symbol.
4.DomainThe domain part of the email address.

Reference

MailToLinkProps

The MailToLink component accepts all props from the Link component, except for href.

NameTypeRequiredDescription
emailstringtrueThe email address to send to.
ccstring[]falseAn array of email addresses to CC.
bccstring[]falseAn array of email addresses to BCC.
subjectstringfalseThe subject of the email.
bodystringfalseThe body of the email.

Tokens

The MailToLink component uses the tokens from the link component.

KeyDefault Value
anchor.base.borderRadiusvar(--gpqiqdw)
anchor.variants.inline.true.colorvar(--gpqiq2x)
anchor.variants.inline.true.opacitynone
anchor.variants.inline.true.fontvar(--_1i4ikbk25)
anchor.variants.inline.true.:hover.colorcolor-mix(in srgb, var(--gpqiq2x) 95%, var(--_1i4ikbkv) 5%)
anchor.variants.inline.true.:hover.opacitynone
anchor.variants.inline.true.:hover.fontvar(--_1i4ikbk25)
anchor.variants.inline.true.:focus-visible.backgroundColor#ffffff
anchor.variants.inline.true.:focus-visible.colorcolor-mix(in srgb, var(--gpqiq2x) 95%, var(--_1i4ikbkv) 5%)
anchor.variants.inline.true.:focus-visible.opacitynone
anchor.variants.inline.true.:focus-visible.fontvar(--_1i4ikbk25)
anchor.variants.inline.true.:focus-visible.outlineWidthvar(--_1i4ikbk2e)
anchor.variants.inline.true.:focus-visible.outlineStylevar(--_1i4ikbk2f)
anchor.variants.inline.true.:focus-visible.outlineColorvar(--_1i4ikbk2g)
anchor.variants.inline.true.:focus-visible.outlineOffsetvar(--_1i4ikbk2h)
anchor.variants.inline.true.:active.colorcolor-mix(in srgb, var(--gpqiq2x) 95%, var(--_1i4ikbkv) 5%)
anchor.variants.inline.true.:active.opacitynone
anchor.variants.inline.true.:active.fontvar(--_1i4ikbk25)
anchor.variants.inline.true.:disabled.colorvar(--gpqiq2x)
anchor.variants.inline.true.:disabled.opacityvar(--_1i4ikbk2i)
anchor.variants.inline.true.:disabled.fontvar(--_1i4ikbk25)
anchor.variants.inline.false.fontvar(--_1i4ikbk25)
anchor.variants.inline.false.colorvar(--_1i4ikbkv)
anchor.variants.inline.false.opacitynone
anchor.variants.inline.false.:hover.fontvar(--_1i4ikbk25)
anchor.variants.inline.false.:hover.colorvar(--gpqiq2x)
anchor.variants.inline.false.:hover.opacitynone
anchor.variants.inline.false.:focus-visible.fontvar(--_1i4ikbk25)
anchor.variants.inline.false.:focus-visible.backgroundColorvar(--gpqiq35)
anchor.variants.inline.false.:focus-visible.colorvar(--gpqiq2x)
anchor.variants.inline.false.:focus-visible.opacitynone
anchor.variants.inline.false.:focus-visible.outlineWidthvar(--_1i4ikbk2e)
anchor.variants.inline.false.:focus-visible.outlineStylevar(--_1i4ikbk2f)
anchor.variants.inline.false.:focus-visible.outlineColorvar(--_1i4ikbk2g)
anchor.variants.inline.false.:focus-visible.outlineOffsetvar(--_1i4ikbk2h)
anchor.variants.inline.false.:active.fontvar(--_1i4ikbk25)
anchor.variants.inline.false.:active.colorvar(--gpqiq2x)
anchor.variants.inline.false.:active.opacitynone
anchor.variants.inline.false.:disabled.fontvar(--_1i4ikbk25)
anchor.variants.inline.false.:disabled.colorvar(--_1i4ikbkv)
anchor.variants.inline.false.:disabled.opacityvar(--_1i4ikbk2i)
row.base.gapvar(--gpqiqd3)
icon.variants.inline.true.colorvar(--gpqiq2x)
icon.variants.inline.true.:hover.colorcolor-mix(in srgb, var(--gpqiq2x) 95%, var(--_1i4ikbkv) 5%)
icon.variants.inline.true.:focus-visible.colorcolor-mix(in srgb, var(--gpqiq2x) 95%, var(--_1i4ikbkv) 5%)
icon.variants.inline.true.:active.colorcolor-mix(in srgb, var(--gpqiq2x) 95%, var(--_1i4ikbkv) 5%)
icon.variants.inline.true.:disabled.colorvar(--gpqiq2x)
icon.variants.inline.false.colorvar(--_1i4ikbkv)
icon.variants.inline.false.:hover.colorvar(--gpqiq2x)
icon.variants.inline.false.:focus-visible.colorvar(--gpqiq2x)
icon.variants.inline.false.:active.colorvar(--gpqiq2x)
icon.variants.inline.false.:disabled.colorvar(--_1i4ikbkv)
Last updated on