apps/docs/integrations/sendgrid.mdx
Get the @react-email/components package and the SendGrid Node.js SDK.
<CodeGroup>npm install @sendgrid/mail @react-email/components
yarn add @sendgrid/mail @react-email/components
pnpm add @sendgrid/mail @react-email/components
Start by building your email template in a .jsx or .tsx file.
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>
);
}
Import the email template you just built, convert into an HTML string, and use the SendGrid SDK to send it.
import { render } from "@react-email/components";
import sendgrid from "@sendgrid/mail";
import { Email } from "./email";
sendgrid.setApiKey(process.env.SENDGRID_API_KEY);
const emailHtml = await render(<Email url="https://example.com" />);
const options = {
from: "[email protected]",
to: "[email protected]",
subject: "hello world",
html: emailHtml,
};
sendgrid.send(options);
<Card title="SendGrid example" icon="arrow-up-right-from-square" iconType="duotone" href="https://github.com/resend/react-email/tree/main/examples/sendgrid"
See the full source code. </Card>