Richiedi l’accesso anticipato

Inserisci il tuo nome e un indirizzo email o un numero di telefono. Ti contatteremo con tutte le informazioni per accedere a Tajo.

Invia Email

Invia singole email transazionali utilizzando l’endpoint /v3/smtp/email.

Endpoint

POST /v3/smtp/email

Corpo della Richiesta

Email Base

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

Email Avanzata

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

Esempi di Codice

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>"
}'

Risposta

Risposta di Successo (201 Created)

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

Risposte di Errore

Chiave API non valida (401)

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

Formato email non valido (400)

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

Limite di frequenza superato (429)

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

Parametri

Parametri Obbligatori

ParametroTipoDescrizione
senderoggettoInformazioni sul mittente
toarrayArray di oggetti destinatario
subjectstringaOggetto dell’email

Parametri Opzionali

ParametroTipoDescrizione
htmlContentstringaContenuto HTML dell’email
textContentstringaContenuto testo dell’email
ccarrayDestinatari CC
bccarrayDestinatari BCC
replyTooggettoIndirizzo di risposta
attachmentsarrayAllegati di file
paramsoggettoParametri template
tagsarrayTag email per il tracciamento
headersoggettoIntestazioni personalizzate

Variabili Template

Usa le variabili template nell’oggetto e nel contenuto:

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

Allegati

Includi allegati di file:

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

Best Practice

  1. Includi sempre contenuto HTML e testo per una migliore recapitabilità
  2. Usa le variabili template invece di concatenare il contenuto
  3. Includi le informazioni corrette del mittente per evitare i filtri antispam
  4. Aggiungi tag per il tracciamento e l’analisi
  5. Convalida gli indirizzi email prima dell’invio
  6. Gestisci gli errori con eleganza con logica di retry

Limiti di Frequenza

  • Account gratuiti: 300 email/giorno
  • Account a pagamento: In base al tuo piano
  • Limite burst: 100 email/minuto

Tracciamento

Le email inviate tramite questo endpoint vengono automaticamente tracciate per:

  • Stato di consegna
  • Tassi di apertura
  • Tracciamento dei clic
  • Gestione dei rimbalzi

Visualizza le analisi dettagliate nel tuo dashboard Brevo sotto StatisticheTransazionale.

Endpoint Correlati

Richiedi l’accesso anticipato

Inserisci il tuo nome e un indirizzo email o un numero di telefono. Ti contatteremo con tutte le informazioni per accedere a Tajo.

rilevamento automatico
Assistente AI

Ciao! Chiedimi qualsiasi cosa sulla documentazione.