> ## Documentation Index
> Fetch the complete documentation index at: https://vuemail.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Send email using Brevo

> Learn how to send an email using Vuemail and the Brevo Node.js SDK.

## 1. Install dependencies

Get the [@vuemaildev/vuemail](https://www.npmjs.com/package/@vuemaildev/vuemail) package and the [Brevo Node.js SDK](https://www.npmjs.com/package/@getbrevo/brevo).

```sh npm theme={null}
npm install @getbrevo/brevo @vuemaildev/vuemail
```

```sh yarn theme={null}
yarn add @getbrevo/brevo @vuemaildev/vuemail
```

```sh pnpm theme={null}
pnpm add @getbrevo/brevo @vuemaildev/vuemail
```

```sh bun theme={null}
bun add @getbrevo/brevo @vuemaildev/vuemail
```

## 2. Create an email using Vue

Start by building your email template in a `.vue` file.

```vue email.vue theme={null}
<script setup lang="ts">
import { Button, Html } from '@vuemaildev/vuemail';

const { url } = defineProps<{ url: string }>();
</script>

<template>
  <Html lang="en">
    <Button :href="url">Click me</Button>
  </Html>
</template>
```

## 3. Convert to HTML and send email

Import the email template you just built, convert into an HTML string, and use the Brevo SDK to send it.

```ts theme={null}
import { BrevoClient } from "@getbrevo/brevo";
import { render } from '@vuemaildev/vuemail';
import Email from './email.vue';

const brevo = new BrevoClient({ apiKey: process.env.BREVO_API_KEY || "" });

const emailHtml = await render(Email, { url: 'https://example.com' });

await brevo.transactionalEmails.sendTransacEmail({
  sender: { name: "Acme", email: "you@example.com" },
  to: [{ email: "user@gmail.com" }],
  subject: "hello world",
  htmlContent: emailHtml,
});
```

## Try it yourself

> **[Brevo example](https://github.com/psycarlo/vuemail/tree/main/examples/brevo)**
>
> See the full source code.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.