ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อพร้อมอีเมลหรือหมายเลขโทรศัพท์ แล้วเราจะติดต่อกลับพร้อมรายละเอียดการเข้าใช้งาน Tajo

ส่งอีเมล

ส่งอีเมล transactional ทีละฉบับด้วยเอนด์พอยต์ /v3/smtp/email

เอนด์พอยต์

POST /v3/smtp/email

เนื้อหาของคำขอ

อีเมลแบบพื้นฐาน

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

อีเมลแบบขั้นสูง

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

ตัวอย่างโค้ด

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

การตอบกลับ

การตอบกลับเมื่อสำเร็จ (201 Created)

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

การตอบกลับเมื่อเกิดข้อผิดพลาด

คีย์ 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"
}

พารามิเตอร์

พารามิเตอร์ที่จำเป็น

พารามิเตอร์ชนิดคำอธิบาย
senderobjectข้อมูลผู้ส่ง
toarrayอาร์เรย์ของอ็อบเจกต์ผู้รับ
subjectstringหัวเรื่องของอีเมล

พารามิเตอร์เสริม

พารามิเตอร์ชนิดคำอธิบาย
htmlContentstringเนื้อหา HTML ของอีเมล
textContentstringเนื้อหาแบบข้อความล้วนของอีเมล
ccarrayผู้รับสำเนา
bccarrayผู้รับสำเนาลับ
replyToobjectที่อยู่สำหรับตอบกลับ
attachmentsarrayไฟล์แนบ
paramsobjectพารามิเตอร์ของเทมเพลต
tagsarrayแท็กอีเมลสำหรับการติดตามผล
headersobjectเฮดเดอร์ที่กำหนดเอง

ตัวแปรในเทมเพลต

ใช้ตัวแปรเทมเพลตในหัวเรื่องและเนื้อหาของคุณได้

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

แนวทางปฏิบัติที่ดี

  1. ใส่ทั้งเนื้อหา HTML และข้อความล้วนเสมอ เพื่อเพิ่มโอกาสส่งถึงกล่องขาเข้า
  2. ใช้ตัวแปรเทมเพลต แทนการต่อสตริงเนื้อหาเอง
  3. ระบุข้อมูลผู้ส่งให้ครบถ้วน เพื่อเลี่ยงตัวกรองสแปม
  4. เพิ่มแท็ก สำหรับการติดตามผลและการวิเคราะห์
  5. ตรวจสอบความถูกต้องของที่อยู่อีเมล ก่อนส่ง
  6. จัดการข้อผิดพลาดอย่างเหมาะสม ด้วยกลไกลองส่งซ้ำ

ขีดจำกัดอัตราการเรียกใช้

  • บัญชีฟรี: 300 อีเมลต่อวัน
  • บัญชีแบบชำระเงิน: ขึ้นอยู่กับแพ็กเกจของคุณ
  • ขีดจำกัดต่อช่วงเวลาสั้น: 100 อีเมลต่อนาที

การติดตามผล

อีเมลที่ส่งผ่านเอนด์พอยต์นี้จะถูกติดตามผลโดยอัตโนมัติในด้านต่อไปนี้

  • สถานะการนำส่ง
  • อัตราการเปิดอ่าน
  • การติดตามการคลิก
  • การจัดการอีเมลตีกลับ

ดูข้อมูลวิเคราะห์โดยละเอียดได้ในแดชบอร์ด Brevo ของคุณที่ StatisticsTransactional

เอนด์พอยต์ที่เกี่ยวข้อง

ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อพร้อมอีเมลหรือหมายเลขโทรศัพท์ แล้วเราจะติดต่อกลับพร้อมรายละเอียดการเข้าใช้งาน Tajo

ตรวจจับอัตโนมัติ
ผู้ช่วย AI

สวัสดี! ถามฉันเกี่ยวกับเอกสารได้เลย