_Email.md_

Buttons

Add call-to-action buttons to your emails.

Add call-to-action buttons using the {button} attribute:

[Get Started](https://example.com){button}

[Learn More](https://example.com){button.secondary}

[Shop Sale](https://example.com){button color="#dc2626"}

Semantic Colors

Use preset color names for common actions:

[Confirm Account](https://example.com/confirm){button.success}

[Delete Account](https://example.com/delete){button.danger}

[Review Changes](https://example.com/review){button.warning}

These use hardcoded colors (green, red, amber) that always look semantically correct regardless of theme.

Side-by-Side Buttons

Place multiple buttons on the same line to render them side-by-side:

[Get Started](https://example.com){button} [Learn More](https://example.com/more){button.secondary}

Buttons on separate lines (separated by a blank line) stack vertically as usual. MJML handles responsive stacking automatically — side-by-side on desktop, stacked on mobile.

Full-Width Buttons

Make a button span the full width of the email content area with width="full":

[Get Started](https://example.com){button width="full"}

This works with any variant or custom color:

[Learn More](https://example.com){button.secondary width="full"}

[Shop Sale](https://example.com){button color="#dc2626" width="full"}

Button Fallback

Add a fallback URL below a button for accessibility. Some email clients block or strip buttons, so providing the raw URL ensures recipients can still take action:

[Reset Password](https://example.com/reset){button fallback}

This renders a small muted text below the button: "If you're having trouble clicking the button, copy and paste this URL into your browser."

Works with button groups too — only buttons with fallback show their URL:

[Accept](https://example.com/accept){button fallback} [Decline](https://example.com/decline){button.secondary}

On this page