|
| 1 | +[npm]: https://img.shields.io/npm/v/jsx-email |
| 2 | +[npm-url]: https://www.npmjs.com/package/jsx-email |
| 3 | + |
| 4 | +[![npm][npm]][npm-url] |
| 5 | +[](https://discord.gg/FywZN57mTg) |
| 6 | +[](https://liberamanifesto.com) |
| 7 | + |
| 8 | +<div align="center"> |
| 9 | + <img src="https://raw.githubusercontent.com/shellscape/jsx-email/main/assets/npm-header.svg" alt="JSX email"/><br/><br/> |
| 10 | +</div> |
| 11 | + |
| 12 | +<div> |
| 13 | + <img src="https://raw.githubusercontent.com/shellscape/jsx-email/main/assets/brackets.svg" alt="JSX email" valign="sub" class="brackets" /> |
| 14 | + <svg xmlns="http://www.w3.org/2000/svg" height="20" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="brackets"> |
| 15 | + <path stroke-linecap="round" stroke-linejoin="round" d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5" /> |
| 16 | + </svg> |
| 17 | + JSX email provides a set of React components and helpers for building delightful and responsive email templates, compatible with modern email clients. |
| 18 | + <br/><br/> |
| 19 | + The components handle the heavy lifting of compatibility and client inconsistency so designers and developers can focus on building impactful and engaging templates. |
| 20 | + <br/> |
| 21 | +</div> |
| 22 | + |
| 23 | +## Migrating to Version 2.0.0 |
| 24 | + |
| 25 | +Version 2 represents a big leap forward for the project, but it's not without a few bumps. As with most major version releases in the Node ecosystem, there are a few breaking changes (nothing major) and steps to be performed. Please read our [Migration Guide](https://jsx.email/docs/v2/migration). |
| 26 | + |
| 27 | +To browse the source code and documentation markdown for v1.12.1 please [click here](https://github.com/shellscape/jsx-email/tree/545ad7550fef11cc18fafe71c772c7b66a8b2373). |
| 28 | + |
| 29 | +## Getting Started |
| 30 | + |
| 31 | +Everything to know about the components, props, and usage is available within our [Documentation Site](https://jsx.email/docs/introduction). Please give that a read and let us know if there's anything we can help with. |
| 32 | + |
| 33 | +## Requirements |
| 34 | + |
| 35 | +The packages and components that make up JSX email require an [LTS](https://github.com/nodejs/Release) Node version (v18.0.0+) and React v18.2.0+ |
| 36 | + |
| 37 | +<div> |
| 38 | + <br/> |
| 39 | + <img src="https://raw.githubusercontent.com/shellscape/jsx-email/main/assets/clients.svg" alt="JSX email" class="clients"/><br/> |
| 40 | + Compatible with all modern email services |
| 41 | + <br/><br/> |
| 42 | +</div> |
| 43 | + |
| 44 | +## Components |
| 45 | + |
| 46 | +A list of available components can be found on the [`jsx-email` Documentation](https://jsx.email/docs/introduction) |
| 47 | + |
| 48 | +## Advantages Over `react-email` |
| 49 | + |
| 50 | +The goals of this project are to provide an improved focus on Developer Experience, maintenance, fast improvements and fast releases. As such, we feel that `jsx-email` has a number of improvements and advantages over `react-email`. Those include: |
| 51 | + |
| 52 | +- [Email Client Compatibility Checking](https://jsx.email/docs/core/cli#client-compatibility-check) |
| 53 | +- Crazy fast Tailwind support |
| 54 | +- Support for `<Suspense>` and `async` within Components |
| 55 | +- Exclusive Components |
| 56 | +- Enhanced Developer Experience (DX) |
| 57 | +- Better Command Line tools |
| 58 | +- Works with Monorepos out of the box. No exhaustive setup needed. |
| 59 | +- Less complex, smoother Preview Server |
| 60 | +- Faster improvements, feature development, and releases |
| 61 | +- Community-driven maintenance rather than company-planning priority |
| 62 | +- No vendor lock-in for tools. `jsx-email` uses only generic components and tools |
| 63 | + |
| 64 | +## Service Integrations |
| 65 | + |
| 66 | +Email built and rendered with JSX email can be used with any email provider that provides an API for sending email as a `String`. |
| 67 | +This includes [AWS SES](https://aws.amazon.com/ses), [Loops](https://loops.so), [Nodemailer](https://nodemailer.com), [Postmark](https://postmarkapp.com),[Resend](https://resend.com), [Plunk](https://www.useplunk.com/), and [SendGrid](https://sendgrid.com). See our documentation on [Email Providers](https://jsx.email/docs/email-providers) for more info and example usage. |
| 68 | + |
| 69 | +<!-- FIXME: Write and link to example code for integrations on the docs site --> |
| 70 | + |
| 71 | +## Contributing, Working With This Repo |
| 72 | + |
| 73 | +We 💛 contributions! After all, this is a community-driven project. We have no corporate sponsorship or backing. The maintainers and users keep this project going! |
| 74 | + |
| 75 | +Please check out our [Contribution Guide](./CONTRIBUTING.md). |
| 76 | + |
| 77 | +## Attribution 🧡 |
| 78 | + |
| 79 | +This project was built upon prior work for `react-email` by Bu Kinoshita ([@bukinoshita](https://twitter.com/bukinoshita)) and Zeno Rocha ([@zenorocha](https://twitter.com/zenorocha)). |
| 80 | + |
| 81 | +`jsx-email` is a fork of `react-email`. |
| 82 | + |
| 83 | +We (the maintainers) use JSX email daily. This fork was originally created as a canary channel for fixes from pull requests and issues that had been left unaddressed. JSX email grew faster, and the upstream team didn't give the project the love we felt it needed. When our help wasn't accepted, we felt a new direction was warranted. |
| 84 | + |
| 85 | +## License |
| 86 | + |
| 87 | +[MIT License](./LICENSE.md) |
0 commit comments