mirror of
https://github.com/resend/react-email.git
synced 2026-09-14 14:18:02 +08:00
80 lines
1.7 KiB
Plaintext
80 lines
1.7 KiB
Plaintext
---
|
|
title: 'Send email using Postmark'
|
|
sidebarTitle: 'Postmark'
|
|
description: 'Learn how to send an email using React Email and the Postmark Node.js SDK.'
|
|
'og:image': 'https://react.email/static/covers/react-email.png'
|
|
---
|
|
|
|
## 1. Install dependencies
|
|
|
|
Get the [react-email](https://www.npmjs.com/package/react-email) package and the [Postmark Node.js SDK](https://www.npmjs.com/package/postmark).
|
|
|
|
<CodeGroup>
|
|
|
|
```sh npm
|
|
npm install postmark react-email
|
|
```
|
|
|
|
```sh yarn
|
|
yarn add postmark react-email
|
|
```
|
|
|
|
```sh pnpm
|
|
pnpm add postmark react-email
|
|
```
|
|
|
|
</CodeGroup>
|
|
|
|
## 2. Create an email using React
|
|
|
|
Start by building your email template in a `.jsx` or `.tsx` file.
|
|
|
|
```tsx email.tsx
|
|
import * as React from 'react';
|
|
import { Html, Button } from "react-email";
|
|
|
|
export function Email(props) {
|
|
const { url } = props;
|
|
|
|
return (
|
|
<Html lang="en">
|
|
<Button href={url}>Click me</Button>
|
|
</Html>
|
|
);
|
|
}
|
|
```
|
|
|
|
## 3. Convert to HTML and send email
|
|
|
|
Import the email template you just built, convert into an HTML string, and use the Postmark SDK to send it.
|
|
|
|
```tsx
|
|
import { render } from 'react-email';
|
|
import postmark from 'postmark';
|
|
import { Email } from './email';
|
|
|
|
const client = new postmark.ServerClient(process.env.POSTMARK_API_KEY);
|
|
|
|
const emailHtml = await render(<Email url="https://example.com" />);
|
|
|
|
const options = {
|
|
From: 'you@example.com',
|
|
To: 'user@gmail.com',
|
|
Subject: 'hello world',
|
|
HtmlBody: emailHtml,
|
|
};
|
|
|
|
await client.sendEmail(options);
|
|
```
|
|
|
|
## Try it yourself
|
|
|
|
<Card
|
|
title="Postmark example"
|
|
icon='arrow-up-right-from-square'
|
|
iconType="duotone"
|
|
href="https://github.com/resend/react-email/tree/main/examples/postmark"
|
|
>
|
|
See the full source code.
|
|
</Card>
|