Tóm tắt nhanh:
Nếu bạn muốn một nền tảng gửi email mã nguồn mở có thể tự vận hành, kiểm soát dữ liệu tốt hơn và tối ưu chi phí theo đúng lưu lượng gửi thực tế, useSend là một lựa chọn rất đáng cân nhắc. Điểm mạnh lớn nhất của useSend nằm ở khả năng kết hợp mô hình self-hosted với Amazon SES, cung cấp dashboard, REST API, SMTP relay, quản lý contact, template và email marketing trong cùng một hệ thống. Với các đội ngũ kỹ thuật muốn giảm phụ thuộc vào nhà cung cấp email thương mại, đây là hướng đi thực dụng hơn là chỉ tìm một dịch vụ “rẻ hơn”.

Bài toán hạ tầng email hiện đại và vì sao useSend đáng chú ý
Trong hầu hết ứng dụng hiện đại, email không còn chỉ là tính năng phụ. Nó là lớp hạ tầng cho xác thực, thông báo giao dịch, onboarding, chăm sóc khách hàng, newsletter và automation. Vấn đề là khi hệ thống tăng trưởng, chi phí gửi email, giới hạn nhà cung cấp, khả năng tùy biến và quyền kiểm soát dữ liệu bắt đầu trở thành bài toán thật sự.
Ở góc nhìn đó, useSend được định vị rất rõ: đây là một nền tảng gửi email mã nguồn mở, self-hostable, được xây như giải pháp thay thế cho Resend, Sendgrid, Mailgun và Postmark. useSend vẫn tận dụng Amazon SES để gửi email, nhưng thay vì phụ thuộc hoàn toàn vào một SaaS email thương mại, bạn có thể tự vận hành lớp quản lý domain, API key, dashboard, tracking, contact book, suppression list và chiến dịch marketing trên hạ tầng của mình.
Vì sao useSend là lựa chọn thay thế đáng cân nhắc cho Resend hay Sendgrid
Nếu so với các dịch vụ email thương mại, lợi thế đầu tiên của useSend là quyền kiểm soát. Khi self-host, bạn chủ động hơn với dữ liệu contact, log email, webhook, tracking và cách tích hợp vào hệ thống nội bộ. Điều này đặc biệt quan trọng với doanh nghiệp quan tâm đến riêng tư dữ liệu, compliance nội bộ hoặc muốn đưa email vào cùng lớp hạ tầng DevOps thay vì giao hoàn toàn cho bên thứ ba.
Lợi thế thứ hai là khả năng tùy biến. useSend không chỉ có REST API mà còn hỗ trợ SMTP relay, quản lý contact, email marketing editor, suppression list, scheduling và webhook. Điều đó giúp một đội kỹ thuật có thể gom cả transactional email lẫn marketing email vào cùng một nền tảng, thay vì ghép nhiều công cụ rời rạc.
Lợi thế thứ ba là chi phí. useSend nhấn mạnh mô hình “pay only for what you send and not for storing contacts”, đồng thời khi self-host, doanh nghiệp có thể tối ưu chi phí theo cách riêng bằng cách kết hợp SES, Postgres, Redis và hạ tầng container sẵn có. Đây không phải câu chuyện miễn phí hoàn toàn, mà là chuyển chi phí từ dạng thuê nền tảng đóng sang dạng hạ tầng minh bạch và dễ kiểm soát hơn.
Các tính năng cốt lõi của useSend
Dashboard và analytics
useSend có dashboard để theo dõi delivered, opened, clicked, bounced và unsubscribes theo thời gian thực. Với đội vận hành, đây là lớp quan sát rất quan trọng vì nó biến email từ “fire-and-forget” thành một kênh có đo lường, có log tìm kiếm và có thể export khi cần.
Template và marketing email editor
Một điểm mạnh khác là visual editor theo kiểu WYSIWYG cho email marketing. Bạn có thể tái sử dụng template, brand style và cá nhân hóa nội dung bằng biến động. Với doanh nghiệp vừa và nhỏ, điều này giúp useSend không chỉ là công cụ gửi mail giao dịch mà còn thành nền tảng campaign cơ bản.
REST API, SDK và SMTP relay
Với developer, useSend hỗ trợ REST API qua HTTPS, Bearer token, SDK cho Node.js và cả SMTP support. Nghĩa là ứng dụng mới có thể tích hợp qua API hoặc typed SDK, còn ứng dụng cũ chỉ biết SMTP vẫn có đường nâng cấp mà không cần sửa quá nhiều logic nghiệp vụ.
Contact management và suppression list
Khả năng quản lý contact book, danh sách unsubscribed, bounce và complaint giúp useSend phù hợp hơn với môi trường production. Đây là phần nhiều đội thường bỏ qua khi chỉ nghĩ đến “gửi mail”, nhưng lại là yếu tố ảnh hưởng trực tiếp tới deliverability và vận hành dài hạn.

Cài đặt useSend theo hướng self-hosted
Điều kiện cần trước khi triển khai
Theo tài liệu self-hosting, bạn cần tối thiểu một tài khoản GitHub và AWS. Về thành phần hệ thống, useSend phụ thuộc vào Amazon SES để gửi email, SNS để nhận trạng thái gửi, Postgres làm database và Redis làm queue. Nếu triển khai production, Docker là cách đơn giản nhất để bắt đầu.
Cài đặt bằng Docker Compose
Đây là lựa chọn hợp lý nhất nếu bạn muốn dựng nhanh một instance self-hosted. Tài liệu chính thức cho biết bản Docker Compose production sẽ bao gồm PostgreSQL, Redis và ứng dụng useSend. Bạn cần lấy file compose.yml, tạo file .env từ .env.selfhost.example, sau đó khởi động stack bằng Docker Compose.
docker-compose --env-file ./.env up -dCác biến môi trường quan trọng thường bao gồm URL cho NextAuth, secret, kết nối database, Redis, AWS access key, AWS secret key, region và thông tin GitHub OAuth.
Cài đặt bằng Docker image standalone
Nếu bạn đã có Postgres và Redis riêng hoặc đang chạy trên nền tảng container như Railway, ECS hay một cụm Docker hiện có, bạn có thể dùng image usesend/usesend hoặc ghcr.io/usesend/usesend rồi tự truyền biến môi trường vào container. Cách làm này linh hoạt hơn với kiến trúc production thực tế.
docker pull usesend/usesend
docker run -d \
-p 3000:3000 \
-e NEXTAUTH_URL="https://mail.example.com" \
-e NEXTAUTH_SECRET="change-me" \
-e DATABASE_URL="postgres://user:pass@db:5432/usesend" \
-e REDIS_URL="redis://redis:6379" \
-e AWS_ACCESS_KEY="your-aws-key" \
-e AWS_SECRET_KEY="your-aws-secret" \
-e AWS_DEFAULT_REGION="us-east-1" \
-e GITHUB_ID="your-github-id" \
-e GITHUB_SECRET="your-github-secret" \
usesend/usesend
Cấu hình domain, SES và SMTP trong useSend
Thiết lập region và thoát sandbox của AWS SES
Sau khi ứng dụng chạy, bạn cần chọn region AWS SES phù hợp với vị trí người dùng hoặc nơi ứng dụng được host. Tài liệu gợi ý us-east-1 nếu bạn chưa chắc chọn gì. useSend cũng yêu cầu callback URL truy cập được từ Internet để nhận trạng thái email qua SNS. Sau đó, bạn nên đưa SES ra khỏi sandbox mode để gửi ra ngoài các địa chỉ đã xác minh.
Bật SMTP proxy nếu cần tương thích ứng dụng cũ
Nếu ứng dụng của bạn hoặc bên thứ ba chỉ hỗ trợ SMTP, useSend có SMTP proxy server riêng. Trong mô hình self-hosted, bạn có thể dựng thêm container usesend/smtp-proxy và dùng API key của useSend làm mật khẩu SMTP. Điều này rất phù hợp với các hệ thống kế thừa, Supabase hoặc ứng dụng không tiện gọi REST API trực tiếp.
services:
smtp-server:
image: usesend/smtp-proxy:latest
environment:
SMTP_AUTH_USERNAME: "usesend"
USESEND_BASE_URL: "https://mail.example.com"
ports:
- "587:587"
- "465:465"Với dịch vụ cloud của useSend, tài liệu SMTP công khai host là smtp.usesend.com, username mặc định là usesend, còn password chính là API key của bạn. Các port hỗ trợ gồm 465, 587, 2465 và 2587.
Tích hợp API và SDK vào ứng dụng
Gửi email bằng Node.js SDK
useSend có SDK chính thức cho Node.js với package usesend-js. Sau khi tạo API key và xác minh domain, bạn có thể khởi tạo client và gửi email khá giống trải nghiệm của các dịch vụ email API phổ biến khác.
npm install usesend-jsimport { UseSend } from "usesend-js";
const usesend = new UseSend("us_12345", "https://mail.example.com");
await usesend.emails.send({
to: "[email protected]",
from: "[email protected]",
subject: "Welcome to our platform",
html: "<p>Xin chào, đây là email được gửi từ useSend self-hosted.</p>",
text: "Xin chào, đây là email được gửi từ useSend self-hosted.",
headers: {
"X-Campaign": "welcome",
},
});
Gửi email qua REST API
API của useSend chạy qua HTTPS và xác thực bằng Authorization: Bearer <token>. Endpoint gửi email hỗ trợ các trường phổ biến như to, from, subject, html, text, templateId, variables, attachments, scheduledAt và inReplyToId.
curl --request POST \
--url https://app.usesend.com/api/v1/emails \
--header 'Authorization: Bearer us_12345' \
--header 'Content-Type: application/json' \
--data '{
"to": "[email protected]",
"from": "[email protected]",
"subject": "Order confirmed",
"html": "<p>Your order has been confirmed.</p>",
"text": "Your order has been confirmed."
}'
Khả năng mở rộng và bảo mật khi triển khai useSend
Về kiến trúc, useSend dựa trên những thành phần quen thuộc với đội full-stack như Next.js, Prisma, Redis, tRPC và Hono. Điều này giúp hệ thống dễ đọc, dễ mở rộng và hợp với các pipeline triển khai hiện đại. Redis đóng vai trò queue, Postgres giữ state và metadata, còn SES/SNS xử lý phần gửi và phản hồi trạng thái email.
Về bảo mật, self-host không tự động an toàn hơn SaaS, nhưng nó cho bạn toàn quyền thiết kế lớp bảo vệ: tách mạng nội bộ cho Postgres và Redis, xoay vòng API key, giới hạn ingress, dùng HTTPS bắt buộc và kiểm soát nơi lưu trữ dữ liệu liên quan tới email. Đây là lợi thế lớn với các tổ chức muốn đưa email vào chiến lược hạ tầng dài hạn thay vì coi nó chỉ là một dịch vụ thuê ngoài.
Có nên chọn useSend cho production không
Nếu bạn cần một giải pháp gửi email mã nguồn mở, muốn tự vận hành, muốn gom transactional và marketing email về cùng một nền tảng, đồng thời chấp nhận quản trị thêm SES, Postgres, Redis và container, thì useSend là một lựa chọn rất thực tế. Nó không cố thay thế hoàn toàn hạ tầng email nền bên dưới, mà xây một lớp sản phẩm hoàn chỉnh hơn trên đó để bạn làm chủ dữ liệu, tích hợp và chi phí.
Để bắt đầu, bạn có thể xem trực tiếp repo GitHub của useSend hoặc trang chủ usesend.com để trải nghiệm bản cloud trước khi self-host. Với các đội kỹ thuật nghiêm túc về hạ tầng email, đây là một dự án đáng thử hơn nhiều so với việc tiếp tục phụ thuộc hoàn toàn vào một nhà cung cấp đóng.








