Vraag vroegtijdige toegang aan

Vul je voornaam en een e-mailadres of telefoonnummer in. We nemen daarna contact met je op en leggen uit hoe je toegang krijgt tot Tajo.

E-mail verzenden

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

Endpoint

POST /v3/smtp/email

Request body

Basis-e-mail

{
"sender": {
"name": "Your App",
"email": "[email protected]"
},
"to": [
{
"email": "[email protected]",
"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

{
"sender": {
"name": "Your App",
"email": "[email protected]"
},
"to": [
{
"email": "[email protected]",
"name": "John Doe"
}
],
"cc": [
{
"email": "[email protected]",
"name": "CC User"
}
],
"bcc": [
{
"email": "[email protected]"
}
],
"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

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: "[email protected]" };
sendSmtpEmail.to = [{ email: "[email protected]", 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

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": "[email protected]", "name": "John Doe"}],
sender={"name": "Your App", "email": "[email protected]"},
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

Terminal window
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": "[email protected]"
},
"to": [
{
"email": "[email protected]",
"name": "John Doe"
}
],
"subject": "Welcome to our service!",
"htmlContent": "<html><body><h1>Welcome!</h1></body></html>"
}'

Antwoord

Geslaagd antwoord (201 Created)

{
"messageId": "<[email protected]>"
}

Foutmeldingen

Ongeldige API-sleutel (401)

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

Ongeldig e-mailformaat (400)

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

Limiet overschreden (429)

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

Parameters

Verplichte parameters

ParameterTypeOmschrijving
senderobjectGegevens van de afzender
toarrayArray met ontvangerobjecten
subjectstringOnderwerpregel van de e-mail

Optionele parameters

ParameterTypeOmschrijving
htmlContentstringHTML-inhoud van de e-mail
textContentstringTekstinhoud van de e-mail
ccarrayCc-ontvangers
bccarrayBcc-ontvangers
replyToobjectAntwoordadres
attachmentsarrayBijlagen
paramsobjectTemplateparameters
tagsarrayTags voor tracking
headersobjectAangepaste headers

Templatevariabelen

Gebruik templatevariabelen in je onderwerp en inhoud:

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

Bijlagen

Voeg bestandsbijlagen toe:

{
"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

  • Gratis accounts: 300 e-mails per dag
  • Betaalde accounts: afhankelijk van je abonnement
  • Burstlimiet: 100 e-mails per minuut

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 StatisticsTransactional.

Gerelateerde endpoints

Vraag vroegtijdige toegang aan

Vul je voornaam en een e-mailadres of telefoonnummer in. We nemen daarna contact met je op en leggen uit hoe je toegang krijgt tot Tajo.

automatische herkenning
AI-assistent

Hallo! Stel me vragen over de documentatie.