Chuyển tới nội dung chính

Hạ Tầng Email

Hạ Tầng Email gửi email giao dịch và email marketing từ chính tên miền của bạn. API giống hệt Resend, nên code đang dùng Resend chỉ cần đổi base URL và API key là chạy; thư được gửi đi qua Amazon SES. Trang này giải thích các thành phần ghép với nhau thế nào và hướng dẫn bạn gửi email đầu tiên.

Bạn có gì​

Tính năngLàm được gìHướng dẫn
Tên miền gửiDKIM, SPF và return path riêng cho từng tên miền, cấu hình DNS một chạm ở các nhà cung cấp DNS hỗ trợTên miền
REST APIPOST /emails và POST /emails/batch, hẹn giờ, idempotency, tag, tệp đính kèmGửi email
SMTP relaysmtp.hatang.dev:5870 dùng STARTTLS, cho framework và ứng dụng chỉ biết gửi qua SMTPSMTP relay
TemplatesMẫu email có biến, gửi bằng id hoặc aliasTemplates
Theo dõiTheo dõi lượt mở và lượt nhấp, có thể dùng tên miền phụ của bạnTheo dõi mở và nhấp
Nhận emailThư gửi tới tên miền của bạn thành webhook email.receivedNhận email
Danh sách nhậnContact, segment, topic và thuộc tính tuỳ chỉnhContacts, segments và topics
Chiến dịch emailEmail marketing gửi tới một segment, gửi ngay hoặc hẹn giờ, kèm trang tuỳ chọn nhận thưChiến dịch email
AutomationsChuỗi email cho từng contact, khởi động bằng sự kiện từ ứng dụng của bạnAutomations
Danh sách chặnThư trả lại cứng, báo spam và huỷ đăng ký tự động chặn các lần gửi sauDanh sách chặn và thư trả lại
Số liệu và logsTỉ lệ tới hộp thư, mở, nhấp, bị trả lại, bị báo spam, cùng log mọi lệnh gọi APISố liệu và logs

Một email đi qua những đâu​

  1. Ứng dụng gọi POST /emails hoặc gửi thư qua SMTP relay. Cả hai đi qua cùng một lớp kiểm tra.
  2. Hạ Tầng kiểm tra tên miền của From đã xác minh và thuộc doanh nghiệp của bạn, bỏ qua người nhận nằm trong danh sách chặn và trừ một email vào hạn mức ngày. Hạ Tầng trả về id của email ngay lập tức.
  3. Worker ký thư bằng khoá DKIM của tên miền, đặt địa chỉ nhận thư trả lại trên tên miền phụ return path (mặc định send.) rồi chuyển thư cho Amazon SES.
  4. Amazon SES báo lại cho Hạ Tầng thư đã tới, bị trả lại hay bị báo spam. Hạ Tầng cập nhật trạng thái email, đưa địa chỉ trả lại cứng và báo spam vào danh sách chặn, rồi gửi webhook cho bạn.

Trước khi bắt đầu​

  • Một doanh nghiệp trên Hạ Tầng đã bật module Email. Xem Doanh nghiệp và module.
  • Một tên miền bạn thêm được bản ghi DNS.
  • Một API key. Xem Xác thực.

Gửi email đầu tiên​

1. Thêm và xác minh tên miền​

Trong dashboard, mở Email → Tên miền, thêm tên miền (ví dụ example.com hoặc tên miền phụ như updates.example.com), thêm các bản ghi DNS được hiển thị rồi bấm Xác minh bản ghi DNS. Tên miền phải ở trạng thái Đã xác minh thì mới gửi được. Chi tiết ở trang Tên miền.

2. Tạo API key​

Tạo key có phạm vi email:send. Chỉ giữ key trên server, không bao giờ đưa vào trình duyệt hay ứng dụng di động.

3. Gửi​

curl -X POST https://api.hatang.dev/emails \
-H "Authorization: Bearer $HATANG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "Shop <[email protected]>",
"to": ["[email protected]"],
"subject": "Xác nhận đơn hàng",
"html": "<p>Cảm ơn bạn đã đặt hàng!</p>"
}'

Response chứa id của email:

{ "id": "0199e6c1-7a2b-7f00-9c1e-3f6a2b1d9e10" }
ghi chú

SDK Node.js trả về { data, error } và không bao giờ ném lỗi. Luôn truyền baseUrl: "https://api.hatang.dev" (hoặc đặt biến HATANG_BASE_URL), vì giá trị mặc định có sẵn trong SDK trỏ tới server phát triển ở máy local.

4. Theo dõi email​

  • Trong dashboard, Email → Email liệt kê mọi email kèm trạng thái, người nhận và sự kiện.
  • GET /emails/{id} trả về email và status; GET /emails/{id}/events trả về từng sự kiện và trạng thái của từng người nhận.
  • Muốn nhận cập nhật tức thì, đăng ký webhook cho email.delivered, email.bounced và các sự kiện khác. Xem Webhook.

Các mục trong dashboard​

Mục trên thanh bênBạn làm gì ở đó
EmailMọi email gửi qua API, SMTP relay hoặc chiến dịch email. Tab Nhận về liệt kê thư nhận được trên tên miền của bạn.
Chiến dịch emailSoạn, hẹn giờ và gửi email marketing tới một segment.
TemplatesSửa, gửi thử và publish template.
Danh sách nhậnContacts, segments, topics, thuộc tính và danh sách chặn.
AutomationsChuỗi email theo sự kiện và các lượt chạy.
Số liệuLượng thư và các tỉ lệ theo ngày.
Tên miềnTên miền gửi và nhận, bản ghi DNS, theo dõi.
LogsMọi lệnh gọi API bằng key của bạn.
API KeysTạo và thu hồi API key.
WebhooksCác endpoint nhận sự kiện email.
Cài đặt emailThông tin kết nối SMTP, hạn mức ngày, nút tạm dừng khẩn cấp và trang huỷ đăng ký.

Phạm vi của API key​

Chỉ cấp cho mỗi key những phạm vi mà hệ thống dùng key đó cần:

EndpointPhạm vi bắt buộc
POST /emails, POST /emails/batch, SMTP relayemail:send
PATCH /emails/{id}, POST /emails/{id}/cancelemail:send
GET /emails, GET /emails/{id}, GET /emails/{id}/eventsemail:read (hoặc email:send / email:write, vốn đã bao gồm quyền đọc)
Tên miền, templates, contacts, segments, topics, chiến dịch email, sự kiện, automationsemail:write
GET /emails/metricsemail:read (hoặc email:send / email:write, vốn đã bao gồm quyền đọc)
GET /emails/receiving/*email:read hoặc email:write, cấp trực tiếp. Chỉ có email:send thì không đọc được thư đến.
GET /logs, GET /usageBất kỳ phạm vi ghi nào

Key cũng có thể bị giới hạn vào một tên miền gửi. Khi gửi từ tên miền khác, key đó nhận lỗi 401 restricted_api_key.

Giới hạn chính​

Giới hạnGiá trị
Tốc độ gọi REST API10 request mỗi giây cho mỗi doanh nghiệp, dùng chung cho các endpoint email
Người nhận mỗi email50, tính chung to, cc và bcc
Email mỗi lệnh batch100
Kích thước email40 MB, gồm cả nội dung và tệp đính kèm
Hẹn giờTối đa 30 ngày tới
Hạn mức ngàyĐặt riêng cho từng doanh nghiệp, đặt lại lúc nửa đêm UTC. Xem ở Cài đặt email hoặc GET /usage.

Danh sách đầy đủ ở Giới hạn, mọi mã lỗi ở Lỗi.

Bước tiếp theo​

Xem trang này dạng Markdown