---
title: "E-mail verzenden | Tajo"
description: "Transactionele e-mails verzenden via de Brevo API"
url: https://tajo.io/nl/docs/email-messaging/transactional-email/send-email/
markdown: https://tajo.io/nl/docs/email-messaging/transactional-email/send-email.md
lang: nl-NL
author: "Set Noa"
author_url: https://tajo.io/nl/set-noa/
robots: noindex
---

Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

# E-mail verzenden

[Set Noa](https://tajo.io/nl/set-noa/)

Verstuur individuele transactionele e-mails met het endpoint `/v3/smtp/email`.

## Endpoint

```http
POST /v3/smtp/email
```

## Request body

### Basis-e-mail

```json
{
  "sender": {
    "name": "Your App",
    "email": "noreply@yourapp.com"
  },
  "to": [
    {
      "email": "user@example.com",
      "name": "John Doe"
    }
  ],
  "subject": "Welcome to our service!",
  "htmlContent": "<html><body><h1>Welcome!</h1><p>Thank you for signing up.</p></body></html>"
}
```

### Uitgebreide e-mail

```json
{
  "sender": {
    "name": "Your App",
    "email": "noreply@yourapp.com"
  },
  "to": [
    {
      "email": "user@example.com",
      "name": "John Doe"
    }
  ],
  "cc": [
    {
      "email": "cc@example.com",
      "name": "CC User"
    }
  ],
  "bcc": [
    {
      "email": "bcc@example.com"
    }
  ],
  "subject": "Order Confirmation #{{order_id}}",
  "htmlContent": "<html><body><h1>Order Confirmed</h1><p>Your order {{order_id}} has been confirmed.</p></body></html>",
  "textContent": "Your order {{order_id}} has been confirmed.",
  "params": {
    "order_id": "12345"
  },
  "tags": ["transactional", "order-confirmation"],
  "headers": {
    "X-Custom-Header": "custom-value"
  }
}
```

## Codevoorbeelden

### JavaScript/Node.js

```javascript
const brevo = require('@getbrevo/brevo');

const apiInstance = new brevo.TransactionalEmailsApi();
apiInstance.setApiKey(brevo.TransactionalEmailsApiApiKeys.apiKey, process.env.BREVO_API_KEY);

const sendEmail = async () => {
  const sendSmtpEmail = new brevo.SendSmtpEmail();

  sendSmtpEmail.subject = "Welcome to our service!";
  sendSmtpEmail.htmlContent = "<html><body><h1>Welcome!</h1></body></html>";
  sendSmtpEmail.sender = { name: "Your App", email: "noreply@yourapp.com" };
  sendSmtpEmail.to = [{ email: "user@example.com", name: "John Doe" }];

  try {
    const result = await apiInstance.sendTransacEmail(sendSmtpEmail);
    console.log('Email sent:', result);
    return result;
  } catch (error) {
    console.error('Error sending email:', error);
    throw error;
  }
};
```

### Python

```python
import sib_api_v3_sdk
from sib_api_v3_sdk.rest import ApiException

configuration = sib_api_v3_sdk.Configuration()
configuration.api_key['api-key'] = 'YOUR_API_KEY'

api_instance = sib_api_v3_sdk.TransactionalEmailsApi(sib_api_v3_sdk.ApiClient(configuration))

send_smtp_email = sib_api_v3_sdk.SendSmtpEmail(
    to=[{"email": "user@example.com", "name": "John Doe"}],
    sender={"name": "Your App", "email": "noreply@yourapp.com"},
    subject="Welcome to our service!",
    html_content="<html><body><h1>Welcome!</h1></body></html>"
)

try:
    api_response = api_instance.send_transac_email(send_smtp_email)
    print(api_response)
except ApiException as e:
    print("Exception when calling TransactionalEmailsApi->send_transac_email: %s\n" % e)
```

### cURL

```bash
curl -X POST "https://api.brevo.com/v3/smtp/email" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d '{
    "sender": {
      "name": "Your App",
      "email": "noreply@yourapp.com"
    },
    "to": [
      {
        "email": "user@example.com",
        "name": "John Doe"
      }
    ],
    "subject": "Welcome to our service!",
    "htmlContent": "<html><body><h1>Welcome!</h1></body></html>"
  }'
```

## Antwoord

### Geslaagd antwoord (201 Created)

```json
{
  "messageId": "<202301151234.12345@smtp-relay.mailin.fr>"
}
```

### Foutmeldingen

**Ongeldige API-sleutel (401)**

```json
{
  "code": "unauthorized",
  "message": "Invalid API key provided"
}
```

**Ongeldig e-mailformaat (400)**

```json
{
  "code": "invalid_parameter",
  "message": "Invalid email format in 'to' field"
}
```

**Limiet overschreden (429)**

```json
{
  "code": "too_many_requests",
  "message": "Rate limit exceeded"
}
```

## Parameters

### Verplichte parameters

| Parameter | Type | Omschrijving |
| --- | --- | --- |
| `sender` | object | Gegevens van de afzender |
| `to` | array | Array met ontvangerobjecten |
| `subject` | string | Onderwerpregel van de e-mail |

### Optionele parameters

| Parameter | Type | Omschrijving |
| --- | --- | --- |
| `htmlContent` | string | HTML-inhoud van de e-mail |
| `textContent` | string | Tekstinhoud van de e-mail |
| `cc` | array | Cc-ontvangers |
| `bcc` | array | Bcc-ontvangers |
| `replyTo` | object | Antwoordadres |
| `attachments` | array | Bijlagen |
| `params` | object | Templateparameters |
| `tags` | array | Tags voor tracking |
| `headers` | object | Aangepaste headers |

## Templatevariabelen

Gebruik templatevariabelen in je onderwerp en inhoud:

```json
{
  "subject": "Welcome {{firstName}}!",
  "htmlContent": "<h1>Hello {{firstName}} {{lastName}}</h1>",
  "params": {
    "firstName": "John",
    "lastName": "Doe"
  }
}
```

## Bijlagen

Voeg bestandsbijlagen toe:

```json
{
  "attachments": [
    {
      "content": "base64_encoded_content",
      "name": "invoice.pdf"
    },
    {
      "url": "https://example.com/document.pdf",
      "name": "document.pdf"
    }
  ]
}
```

## Best practices

1. **Neem altijd zowel HTML- als tekstinhoud op** voor een betere afleverbaarheid
2. **Gebruik templatevariabelen** in plaats van inhoud aan elkaar te plakken
3. **Vul de afzendergegevens volledig in** om spamfilters te vermijden
4. **Voeg tags toe** voor tracking en analyse
5. **Valideer e-mailadressen** voordat je verstuurt
6. **Handel fouten netjes af** met herhaallogica

## Verzendlimieten

- **API rate limit**: op het algemene niveau, dat elk abonnement krijgt, staat dit endpoint 1.000 verzoeken per seconde en 3.600.000 per uur toe. Het geavanceerde niveau (Professional en Enterprise) staat er 2.000 per seconde toe en het uitgebreide niveau (Enterprise) 6.000.
- **Verzendvolume**: hoeveel e-mails je kunt versturen, wordt bepaald door je Brevo-abonnement, los van de rate limit.

Zie [Rate limits](https://tajo.io/nl/docs/rate-limits/) en de [pagina met rate limits](https://developers.brevo.com/docs/api-limits) van Brevo.

## Tracking

E-mails die via dit endpoint worden verstuurd, worden automatisch gevolgd op:

- Afleverstatus
- Openpercentages
- Kliktracking
- Afhandeling van bounces

Bekijk gedetailleerde analyses in je Brevo-dashboard onder **Statistics** → **Transactional**.

## Gerelateerde endpoints

- E-mailtemplates
- Bijlagen
- [E-mailstatistieken](https://tajo.io/nl/docs/analytics-reporting/)
