Magic Link Email
better-auth-ui/magic-link-emailFreeComponent
Email template component that sends magic link authentication emails for passwordless sign-in.
Live preview
live · rendered by the registry
Rendered by better-auth-ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://better-auth-ui.com/r/magic-link-email.jsonSource
1import type { ReactNode } from "react"2import {3 Body,4 Button,5 Container,6 Head,7 Heading,8 Hr,9 Html,10 Img,11 Link,12 Preview,13 pixelBasedPreset,14 Section,15 Tailwind,16 Text17} from "react-email"1819import { cn } from "../../../lib/utils"20import {21 type EmailClassNames,22 type EmailColors,23 EmailStyles24} from "./email-styles"2526const magicLinkEmailLocalization = {27 SIGN_IN_TO_APP_NAME: "Sign in to {appName}",28 SIGN_IN_TO_YOUR_ACCOUNT: "Sign in to your account",29 YOUR_ACCOUNT: "your account",30 LOGO: "Logo",31 CLICK_BUTTON_TO_SIGN_IN:32 "Click the button below to sign in to your account {emailAddress}.",33 OR_COPY_AND_PASTE_URL: "Or copy and paste this URL into your browser:",34 THIS_LINK_EXPIRES_IN_MINUTES:35 "This link expires in {expirationMinutes} minutes.",36 EMAIL_SENT_BY: "Email sent by {appName}.",37 IF_YOU_DIDNT_REQUEST_THIS_EMAIL:38 "If you didn't request this email, you can safely ignore it. Someone else might have typed your email address by mistake.",39 POWERED_BY_BETTER_AUTH: "Powered by {betterAuth}"40}4142/**43 * Localization strings for the MagicLinkEmail component.44 *45 * Contains all text content used in the magic link authentication email template.46 */47export type MagicLinkEmailLocalization = typeof magicLinkEmailLocalization4849/**50 * Props for the MagicLinkEmail component.51 */52export interface MagicLinkEmailProps {53 /** Magic link URL for passwordless authentication */54 url: string55 /** Email address of the user signing in */56 email?: string57 /** Name of the application sending the email */58 appName?: string59 /** Number of minutes until the magic link expires */60 expirationMinutes?: number61 /** Logo URL(s) - a single string or light/dark variants. If omitted, no logo is shown. */62 logoURL?: string | { light: string; dark: string }63 /** Custom CSS class names for styling specific parts of the email */64 classNames?: EmailClassNames65 /** Custom color scheme for light and dark modes */66 colors?: EmailColors67 /** Whether to show the "Powered by better-auth" footer */68 poweredBy?: boolean69 /** Whether to enable dark mode support */70 darkMode?: boolean71 /** Additional React nodes to inject into the email head */72 head?: ReactNode73 /**74 * Localization overrides for customizing email text75 * @remarks `MagicLinkEmailLocalization`76 */77 localization?: Partial<MagicLinkEmailLocalization>78}7980/**81 * Email template component that sends magic link authentication emails for passwordless sign-in.82 *83// … truncated
What it pulls in
npm packages
Files it writes
More from better-auth-ui
All 49 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Account Settingsaccount-settings | better-auth-ui | Components | Free | 2 deps | |
| Active Sessionsactive-sessions | better-auth-ui | Components | Free | 5 deps · 2 files | |
| Additional Fieldadditional-field | better-auth-ui | Components | Free | 5 deps | |
| Adminadmin | better-auth-ui | Components | Free | 4 deps · 3 files | |
| Anonymousanonymous | better-auth-ui | Components | Free | 4 deps · 3 files | |
| API Keyapi-key | better-auth-ui | Components | Free | 4 deps · 10 files | |
| Authauth | better-auth-ui | Components | Free | 2 deps | |
| Auth Providerauth-provider | better-auth-ui | Components | Free | 4 deps · 2 files |
