apps/docs/integrations/nodemailer.mdx
Get the @react-email/components and nodemailer packages.
<CodeGroup>npm install nodemailer @react-email/components
yarn add nodemailer @react-email/components
pnpm add nodemailer @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 a HTML string, and use the Nodemailer SDK to send it.
import { render } from '@react-email/components';
import nodemailer from 'nodemailer';
import { Email } from './email';
const transporter = nodemailer.createTransport({
host: 'smtp.forwardemail.net',
port: 465,
secure: true,
auth: {
user: 'my_user',
pass: 'my_password',
},
});
const emailHtml = await render(<Email url="https://example.com" />);
const options = {
from: '[email protected]',
to: '[email protected]',
subject: 'hello world',
html: emailHtml,
};
await transporter.sendMail(options);
<Card title="Nodemailer example" icon='arrow-up-right-from-square' iconType="duotone" href="https://github.com/resend/react-email/tree/main/examples/nodemailer"
See the full source code. </Card>