إرسال بريد إلكتروني
أرسل رسائل بريد إلكتروني معاملاتية فردية باستخدام نقطة النهاية /v3/smtp/email.
نقطة النهاية
POST /v3/smtp/emailنص الطلب
بريد إلكتروني أساسي
{ "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>"}بريد إلكتروني متقدم
{ "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" }}أمثلة برمجية
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>" }'الاستجابة
استجابة النجاح (201 Created)
{}استجابات الخطأ
مفتاح API غير صالح (401)
{ "code": "unauthorized", "message": "Invalid API key provided"}صيغة بريد إلكتروني غير صالحة (400)
{ "code": "invalid_parameter", "message": "Invalid email format in 'to' field"}تم تجاوز حد المعدل (429)
{ "code": "too_many_requests", "message": "Rate limit exceeded"}المعاملات
المعاملات المطلوبة
| المعامل | النوع | الوصف |
|---|---|---|
sender | object | معلومات المُرسِل |
to | array | مصفوفة كائنات المستلمين |
subject | string | سطر موضوع البريد الإلكتروني |
المعاملات الاختيارية
| المعامل | النوع | الوصف |
|---|---|---|
htmlContent | string | محتوى HTML للبريد الإلكتروني |
textContent | string | المحتوى النصي للبريد الإلكتروني |
cc | array | مستلمو نسخة CC |
bcc | array | مستلمو نسخة BCC |
replyTo | object | عنوان الرد |
attachments | array | الملفات المرفقة |
params | object | معاملات القالب |
tags | array | وسوم البريد الإلكتروني للتتبع |
headers | object | ترويسات مخصصة |
متغيرات القالب
استخدم متغيرات القالب في الموضوع والمحتوى:
{ "subject": "Welcome {{firstName}}!", "htmlContent": "<h1>Hello {{firstName}} {{lastName}}</h1>", "params": { "firstName": "John", "lastName": "Doe" }}المرفقات
أرفق ملفات مع الرسالة:
{ "attachments": [ { "content": "base64_encoded_content", "name": "invoice.pdf" }, { "url": "https://example.com/document.pdf", "name": "document.pdf" } ]}أفضل الممارسات
- ضمّن دائمًا محتوى HTML ونصيًا معًا لتحسين نسبة التسليم
- استخدم متغيرات القالب بدلًا من دمج المحتوى يدويًا
- أدرج معلومات مُرسِل صحيحة لتجنب مرشحات البريد المزعج
- أضف الوسوم للتتبع والتحليلات
- تحقق من صحة عناوين البريد الإلكتروني قبل الإرسال
- عالج الأخطاء بسلاسة عبر منطق إعادة المحاولة
حدود المعدل
- حد معدل API: في المستوى العام، الذي تحصل عليه كل خطة، تسمح نقطة النهاية هذه بـ 1,000 طلب في الثانية و3,600,000 في الساعة. يسمح المستوى المتقدم (Professional وEnterprise) بـ 2,000 في الثانية، والمستوى الموسّع (Enterprise) بـ 6,000.
- حجم الإرسال: عدد رسائل البريد الإلكتروني التي يمكنك إرسالها تحدده خطة Brevo الخاصة بك، بصورة منفصلة عن حد المعدل.
راجع حدود المعدل وصفحة حدود المعدل لدى Brevo.
التتبع
تُتَتبَّع الرسائل المُرسَلة عبر نقطة النهاية هذه تلقائيًا من حيث:
- حالة التسليم
- معدلات الفتح
- تتبع النقرات
- معالجة الارتداد
اعرض التحليلات المفصّلة في لوحة تحكم Brevo ضمن Statistics ← Transactional.
نقاط نهاية ذات صلة
- قوالب البريد الإلكتروني
- المرفقات
- إحصاءات البريد الإلكتروني