Integrations
Send email using AWS SES
Learn how to send an email using React Email and the AWS SES Node.js SDK.
1. Install dependencies
Get the @react-email/components package and the AWS SES Node.js SDK.
2. Create an email using React
Start by building your email template in a .jsx
or .tsx
file.
email.tsx
import * as React from 'react';
import { Html, Button } from "@react-email/components";
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 AWS SES SDK to send it.
import type { SendEmailCommandInput } from "@aws-sdk/client-ses";
import { render } from '@react-email/components';
import { SES } from '@aws-sdk/client-ses';
import { Email } from './email';
const ses = new SES({ region: process.env.AWS_SES_REGION })
const emailHtml = await render(<Email url="https://example.com" />);
const params: SendEmailCommandInput = {
Source: 'you@example.com',
Destination: {
ToAddresses: ['user@gmail.com'],
},
Message: {
Body: {
Html: {
Charset: 'UTF-8',
Data: emailHtml,
},
},
Subject: {
Charset: 'UTF-8',
Data: 'hello world',
},
},
};
await ses.sendEmail(params);
Try it yourself
AWS SES example
See the full source code.