---
title: "ส่งอีเมล | Tajo"
description: "ส่งอีเมล transactional ผ่าน Brevo API"
url: https://tajo.io/th/docs/email-messaging/transactional-email/send-email/
markdown: https://tajo.io/th/docs/email-messaging/transactional-email/send-email.md
lang: th-TH
author: "Set Noa"
author_url: https://tajo.io/th/set-noa/
robots: noindex
---

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

กรอกชื่อและที่อยู่อีเมลที่ทำงานของคุณ เราจะส่งลิงก์เพื่อยืนยันคำขอเข้าใช้งาน Tajo ทางอีเมล

# ส่งอีเมล

[Set Noa](https://tajo.io/th/set-noa/)

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

## เอนด์พอยต์

```http
POST /v3/smtp/email
```

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

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

```json
{
  "sender": {
    "name": "Your App",
    "email": "noreply@yourapp.com"
  },
  "to": [
    {
      "email": "user@example.com",
      "name": "John Doe"
    }
  ],
  "subject": "Welcome to our service!",
  "htmlContent": "<html><body><h1>Welcome!</h1><p>Thank you for signing up.</p></body></html>"
}
```

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

```json
{
  "sender": {
    "name": "Your App",
    "email": "noreply@yourapp.com"
  },
  "to": [
    {
      "email": "user@example.com",
      "name": "John Doe"
    }
  ],
  "cc": [
    {
      "email": "cc@example.com",
      "name": "CC User"
    }
  ],
  "bcc": [
    {
      "email": "bcc@example.com"
    }
  ],
  "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

```javascript
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: "noreply@yourapp.com" };
  sendSmtpEmail.to = [{ email: "user@example.com", 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

```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": "user@example.com", "name": "John Doe"}],
    sender={"name": "Your App", "email": "noreply@yourapp.com"},
    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

```bash
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": "noreply@yourapp.com"
    },
    "to": [
      {
        "email": "user@example.com",
        "name": "John Doe"
      }
    ],
    "subject": "Welcome to our service!",
    "htmlContent": "<html><body><h1>Welcome!</h1></body></html>"
  }'
```

## การตอบกลับ

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

```json
{
  "messageId": "<202301151234.12345@smtp-relay.mailin.fr>"
}
```

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

**คีย์ API ไม่ถูกต้อง (401)**

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

**รูปแบบอีเมลไม่ถูกต้อง (400)**

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

**เกินขีดจำกัดอัตราการเรียกใช้ (429)**

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

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

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

| พารามิเตอร์ | ชนิด | คำอธิบาย |
| --- | --- | --- |
| `sender` | object | ข้อมูลผู้ส่ง |
| `to` | array | อาร์เรย์ของอ็อบเจกต์ผู้รับ |
| `subject` | string | หัวเรื่องของอีเมล |

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

| พารามิเตอร์ | ชนิด | คำอธิบาย |
| --- | --- | --- |
| `htmlContent` | string | เนื้อหา HTML ของอีเมล |
| `textContent` | string | เนื้อหาแบบข้อความล้วนของอีเมล |
| `cc` | array | ผู้รับสำเนา |
| `bcc` | array | ผู้รับสำเนาลับ |
| `replyTo` | object | ที่อยู่สำหรับตอบกลับ |
| `attachments` | array | ไฟล์แนบ |
| `params` | object | พารามิเตอร์ของเทมเพลต |
| `tags` | array | แท็กอีเมลสำหรับการติดตามผล |
| `headers` | object | เฮดเดอร์ที่กำหนดเอง |

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

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

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

## ไฟล์แนบ

แนบไฟล์ไปกับอีเมล

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

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

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

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

- **ขีดจำกัดอัตราการเรียกใช้ API**: ในระดับ general ซึ่งทุกแพ็กเกจได้รับ endpoint นี้อนุญาต 1,000 คำขอต่อวินาทีและ 3,600,000 คำขอต่อชั่วโมง ระดับ advanced (Professional และ Enterprise) อนุญาต 2,000 คำขอต่อวินาที และระดับ extended (Enterprise) อนุญาต 6,000
- **ปริมาณการส่ง**: จำนวนอีเมลที่คุณส่งได้ถูกกำหนดโดยแพ็กเกจ Brevo ของคุณ แยกจากขีดจำกัดอัตราการเรียกใช้

ดู [ขีดจำกัดอัตราการเรียกใช้](https://tajo.io/th/docs/rate-limits/) และ[หน้าขีดจำกัดอัตราการเรียกใช้](https://developers.brevo.com/docs/api-limits)ของ Brevo

## การติดตามผล

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

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

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

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

- เทมเพลตอีเมล
- ไฟล์แนบ
- [สถิติอีเมล](https://tajo.io/th/docs/analytics-reporting/)
