Ứng dụng Supabase cần ba loại email: xác thực, sự kiện sản phẩm và chiến dịch vòng đời. So sánh Resend, Loops, Sequenzy và Brew theo việc mỗi bên đảm nhận.

Bài so sánh này do Brew xuất bản. Chúng tôi đã xem xét tài liệu sản phẩm được dẫn liên kết trong bài vào ngày 28/9/2026. Đây là bài so sánh dựa trên tài liệu, không phải tuyên bố rằng chúng tôi đã dùng thử thực tế từng nền tảng. Hãy kiểm tra giới hạn hiện tại của từng gói trên trang bảng giá của nhà cung cấp.
Bạn ra mắt ứng dụng Supabase, và những người dùng đầu tiên ngoài đội ngũ bắt đầu đăng ký. Email xác nhận của họ vẫn đi qua dịch vụ gửi mặc định. Dịch vụ này chỉ gửi đến các địa chỉ đã được phê duyệt trước, nên không ai trong số họ nhận được email. Email chào mừng bạn dự định gửi vẫn chỉ là một dòng ghi chú trong danh sách việc cần làm.
Một ứng dụng Supabase gửi email vì ba lý do khác nhau. Email xác thực gồm xác nhận đăng ký, magic link và đặt lại mật khẩu. Email sự kiện sản phẩm được gửi khi có điều gì đó xảy ra trong cơ sở dữ liệu. Chiến dịch vòng đời gồm onboarding, email nhắc và email giành lại khách hàng. Một công cụ có thể đảm nhận nhiều hơn một việc, nhưng Supabase khuyên nên tách riêng email xác thực và email tiếp thị.
Bài hướng dẫn này phân loại Resend, Loops, Sequenzy và Brew theo những việc mà tài liệu của từng công cụ có hướng dẫn.
auth.users và phát các sự kiện như auth.user.email_confirmed. Sequenzy đồng bộ các hàng từ một bảng do bạn chọn.| Việc | Cần gì | Công cụ có tài liệu hướng dẫn |
|---|---|---|
| Email xác thực | Một máy chủ SMTP hoặc auth hook mà Supabase Auth gọi đến | Resend, Loops, Sequenzy |
| Sự kiện sản phẩm | Thay đổi trong cơ sở dữ liệu được biến thành trình kích hoạt | Brew (auth.users), Sequenzy (một bảng bất kỳ), Loops (đồng bộ liên hệ) |
| Chiến dịch vòng đời | Chuỗi email, email được thiết kế, đối tượng | Brew, Loops, Sequenzy |
Chúng tôi đã kiểm tra tài liệu của từng nhà cung cấp vào ngày 28/9/2026.
Hướng dẫn SMTP của Supabase liệt kê các giới hạn của dịch vụ tích hợp sẵn. Dịch vụ này chỉ gửi đến các địa chỉ đã được phê duyệt trước. Giới hạn tần suất thấp, chỉ 2 email mỗi giờ, và có thể thay đổi mà không báo trước. Dịch vụ không có SLA nào về việc gửi email. Supabase yêu cầu bạn thiết lập SMTP tùy chỉnh cho mọi mục đích ngoài thử nghiệm và demo.
Cũng trang đó khuyên không nên trộn lẫn email xác thực với email tiếp thị. Hãy dùng các dịch vụ riêng, hoặc ít nhất là các tên miền gửi riêng như auth.example.com và marketing.example.com, và không đưa nội dung quảng cáo vào email xác thực.
Hướng dẫn Supabase của Resend là một quy trình thiết lập SMTP ngắn gọn. Bạn dùng host smtp.resend.com, cổng 465, tên người dùng resend và khóa API làm mật khẩu, nhập ở mục Authentication trong Supabase. Bạn cần có một tên miền đã xác minh trong Resend. Từ đó trở đi, Supabase Auth gửi email qua Resend.
Loops có tài liệu cho hai cách kết nối với Supabase. Auth Hook chuyển mọi email của Supabase Auth qua Loops, còn SMTP là phương án thay thế. Một cơ chế đồng bộ liên hệ riêng đưa người dùng Supabase vào đối tượng của bạn trong Loops.
Sequenzy có thể chuyển email của Supabase Auth qua dịch vụ SMTP của mình. Sequenzy thiết lập sẵn các mẫu email giao dịch mặc định cho đặt lại mật khẩu, magic link, lời mời và thông báo bảo mật, hoặc bạn có thể tự nhập thông tin xác thực SMTP.
Tích hợp Supabase của Brew không gửi email của Supabase Auth, và Brew không có tài liệu về SMTP relay. Hãy để email xác minh, magic link và email đặt lại mật khẩu ở một nhà cung cấp SMTP. API của Brew có thể gửi email giao dịch do ứng dụng của bạn kích hoạt, chẳng hạn biên lai. Còn email của chính Supabase Auth vẫn cần SMTP hoặc auth hook.
Tích hợp Supabase của Brew chạy một script thiết lập để cài trigger cơ sở dữ liệu trên auth.users. Trigger này ký từng thay đổi bằng pgcrypto, gửi thay đổi đến một webhook Brew riêng bằng pg_net và lưu shared secret trong Supabase Vault. Brew nhận ba sự kiện gốc: auth.user.created, auth.user.updated và auth.user.deleted. Brew còn suy ra thêm chín sự kiện khác từ các thay đổi của cột:
auth.user.email_confirmed và auth.user.phone_confirmedauth.user.email_changed và auth.user.password_changedauth.user.signed_inauth.user.banned và auth.user.unbannedauth.user.invitedauth.user.upgraded_from_anonymousNgười dùng được đồng bộ thành liên hệ với các trường supabase_* như trạng thái tài khoản, thời điểm xác minh email và lần đăng nhập gần nhất. Tài liệu của Brew lưu ý rằng việc làm mới token cũng cập nhật last_sign_in_at, nên riêng auth.user.signed_in không phải là tín hiệu đáng tin cậy cho thấy người dùng “đã quay lại”.
Với các sự kiện nằm ngoài auth.users, chẳng hạn project_created hoặc invite_sent, hãy tạo một trình kích hoạt tùy chỉnh trong Brew rồi kích hoạt từ một Supabase Edge Function. Hướng dẫn Lovable của Brew minh họa cách làm này. Function đọc BREW_API_KEY từ secrets trong Supabase và gọi POST /v1/automations/triggers/{triggerEventId}/fire.
Sequenzy kết nối với Supabase qua OAuth và theo dõi một bảng do bạn chọn, thường là public.profiles, bằng một trigger pg_net. Sequenzy tự động nhận diện các cột email, ID người dùng và tên, đồng thời đồng bộ các cột khác để phân khúc. Thao tác thêm phát sự kiện contact.subscribed. Thao tác cập nhật làm mới thuộc tính mà không phát sự kiện, còn thao tác xóa phát contact.unsubscribed. Mỗi tích hợp chỉ có một bảng dùng webhook tự động.
Loops đồng bộ người dùng Supabase vào đối tượng của bạn và có thể khởi chạy quy trình từ dữ liệu đó. Bạn thiết lập đồng bộ liên hệ riêng, tách biệt với phần gửi email xác thực.
Brew tạo email từ tệp email-design.md của thương hiệu, dựng tự động hóa từ một câu lệnh và gửi từ tên miền đã xác minh của bạn. Một luồng chào mừng có thể bắt đầu từ auth.user.email_confirmed để email đầu tiên chỉ đến những người đã xác minh. Brew không có kênh SMS và không xử lý email của Supabase Auth.
Loops và Sequenzy đảm nhận cả chiến dịch vòng đời lẫn email xác thực, nên một nhà cung cấp có thể lo cả hai. Nếu chọn cách này, bạn vẫn nên dùng tên miền gửi riêng cho email xác thực và email tiếp thị, như Supabase khuyến nghị.
Dưới đây là một cách phân chia khả thi. Chúng tôi chưa thử nghiệm toàn bộ từ đầu đến cuối.
auth.example.com.auth.users. Một tự động hóa chào mừng bắt đầu từ auth.user.email_confirmed.project_reminder_eligible nếu người dùng vẫn chưa có dự án nào. Một tự động hóa đã xuất bản sẽ gửi email nhắc từ sự kiện đó. Ngoài ra, bạn có thể định nghĩa và đồng bộ một trường liên hệ kiểu Có/Không là has_project trong Brew rồi kiểm tra contact.has_project equals false sau một bước chờ. Điều kiện đó đọc trường liên hệ hiện tại trong Brew; payload của sự kiện ban đầu vẫn giữ nguyên.Supabase nói là không. Dịch vụ mặc định chỉ gửi đến các địa chỉ đã được phê duyệt trước, với tần suất thấp và không có SLA. Hãy thiết lập SMTP tùy chỉnh.
Không. Tích hợp Supabase của Brew khởi chạy tự động hóa từ các thay đổi trong auth.users. Email xác minh và email đặt lại mật khẩu cần một nhà cung cấp SMTP hoặc auth hook.
email_confirmed rồi mới gửi email chào mừng?Khi đó, email chào mừng chỉ đến những địa chỉ thực sự hoạt động, và đến sau email xác minh thay vì đến cùng lúc.
Không mặc nhiên như vậy. Tài liệu của Brew nêu rõ mọi người nhận email tiếp thị phải đồng ý nhận email trước khi được nhập. Hãy lưu sự đồng ý khi người dùng đăng ký và lọc theo thông tin đó.
Để xem những sự kiện nào được gửi đến từ dự án của bạn, hãy kết nối Supabase trong Brew, thêm một người dùng thử và theo dõi mục Sự kiện gần đây trước khi xuất bản một luồng.
