E-posta Gönderme
/v3/smtp/email uç noktasını kullanarak tek tek işlemsel e-postalar gönderin.
Uç nokta
POST /v3/smtp/emailİstek gövdesi
Temel e-posta
{ "sender": { "name": "Your App", }, "to": [ { "name": "John Doe" } ], "subject": "Welcome to our service!", "htmlContent": "<html><body><h1>Welcome!</h1><p>Thank you for signing up.</p></body></html>"}Gelişmiş e-posta
{ "sender": { "name": "Your App", }, "to": [ { "name": "John Doe" } ], "cc": [ { "name": "CC User" } ], "bcc": [ { } ], "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" }}Kod örnekleri
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>";
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_sdkfrom 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( 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
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>" }'Yanıt
Başarılı yanıt (201 Created)
{}Hata yanıtları
Geçersiz API anahtarı (401)
{ "code": "unauthorized", "message": "Invalid API key provided"}Geçersiz e-posta biçimi (400)
{ "code": "invalid_parameter", "message": "Invalid email format in 'to' field"}Hız limiti aşıldı (429)
{ "code": "too_many_requests", "message": "Rate limit exceeded"}Parametreler
Zorunlu parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
sender | object | Gönderen bilgileri |
to | array | Alıcı nesnelerinden oluşan dizi |
subject | string | E-posta konu satırı |
İsteğe bağlı parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
htmlContent | string | E-postanın HTML içeriği |
textContent | string | E-postanın metin içeriği |
cc | array | CC alıcıları |
bcc | array | BCC alıcıları |
replyTo | object | Yanıtlama adresi |
attachments | array | Dosya ekleri |
params | object | Şablon parametreleri |
tags | array | İzleme için e-posta etiketleri |
headers | object | Özel başlıklar |
Şablon değişkenleri
Konu satırınızda ve içeriğinizde şablon değişkenleri kullanın:
{ "subject": "Welcome {{firstName}}!", "htmlContent": "<h1>Hello {{firstName}} {{lastName}}</h1>", "params": { "firstName": "John", "lastName": "Doe" }}Ekler
Dosya ekleri ekleyin:
{ "attachments": [ { "content": "base64_encoded_content", "name": "invoice.pdf" }, { "url": "https://example.com/document.pdf", "name": "document.pdf" } ]}En iyi uygulamalar
- Her zaman hem HTML hem de metin içeriği ekleyin, teslim edilebilirliği artırır
- İçeriği birleştirmek yerine şablon değişkenleri kullanın
- Doğru gönderen bilgilerini ekleyin, spam filtrelerinden kaçınmak için
- Etiket ekleyin, izleme ve analiz için
- Göndermeden önce e-posta adreslerini doğrulayın
- Hataları yeniden deneme mantığıyla düzgün biçimde ele alın
Hız limitleri
- API hız limiti: her plana verilen genel kademede bu uç nokta saniyede 1.000 isteğe ve saatte 3.600.000 isteğe izin verir. Gelişmiş kademe (Professional ve Enterprise) saniyede 2.000, genişletilmiş kademe (Enterprise) ise 6.000 isteğe izin verir.
- Gönderim hacmi: kaç e-posta gönderebileceğiniz, hız limitinden ayrı olarak Brevo planınızla belirlenir.
Hız limitleri ve Brevo’nun hız limitleri sayfasına bakın.
İzleme
Bu uç nokta üzerinden gönderilen e-postalar şunlar için otomatik olarak izlenir:
- Teslim durumu
- Açılma oranları
- Tıklama izleme
- Geri dönen e-postaların (bounce) yönetimi
Ayrıntılı analizleri Brevo yönetim panelinizde Statistics → Transactional bölümünde görüntüleyin.
İlgili uç noktalar
- E-posta şablonları
- Ekler
- E-posta istatistikleri