Mỗi email hệ thống gửi đi được ghi lại một dòng. Platform admin xem được lượng gửi trong 24 giờ qua so với quota 2.000 của Gmail relay, và tenant admin xem được số email của riêng tenant mình.
SP-767 · 1 tháng 10 năm 2026
Trạng thái tính đến 1 tháng 10 năm 2026
Giai đoạn
Đang review. PR #509 còn mở. Chưa merge vào main, chưa lên beta, chưa có trong tag production. CI đã xanh, chưa có quyết định review.
PR
#509 chứa toàn bộ thay đổi: ledger, quota, ba endpoint, trang Email usage và phần Email của tenant trong platform admin, phần Email trong Usage của LMS.
Toàn bộ ảnh chụp và video đến từ một stack local với dữ liệu mẫu. Tên và số liệu không có thật.
Ngoại lệ
Một lần gửi email thật, bị lỗi vì SMTP không kết nối được. Dòng ledger của lần gửi đó là thật. Xem phần bằng chứng.
Tại sao cần thay đổi này
Mọi email hệ thống gửi qua một Gmail relay chung, trừ khi tenant tự cấu hình SMTP riêng. Google Workspace giới hạn tài khoản relay này ở 2.000 email trong mỗi 24 giờ trượt.
Trước đây không ai xem được mình đã dùng bao nhiêu phần của giới hạn đó. Khi email bắt đầu lỗi, không có số liệu để biết đó là do chạm giới hạn hay do nguyên nhân khác. Giờ đã có số liệu cho việc này.
Thay đổi gì, trong một hình
Bước 1
Hệ thống gửi email
Email đi qua relay chung, hoặc qua SMTP riêng nếu tenant có cấu hình.
→
Bước 2
Ghi một dòng vào ledger
Mỗi lần gửi có một dòng. Dòng ghi tenant, relay, loại email và kết quả gửi được hay lỗi.
→
Bước 3
Quota chỉ để tính phần trăm
Quota mặc định là 2.000. Đạt quota không chặn email nào.
→
Bước 4
Hai nơi xem số liệu
Platform admin xem cả quota. Tenant admin chỉ xem số đếm của tenant mình.
Video demo
Khoảng 1 phút 43 giây, không có tiếng, giao diện tiếng Việt. Chấm xanh là con trỏ chuột.
Bạn sẽ thấy
0 đến 8 giây. Platform admin mở trang "Mức sử dụng email". Trang hiện tháng 9/2026.
8 đến 19 giây. Con trỏ dừng ở tile 24 giờ qua, rồi ở hai tile 10.288 và 3.761.
19 đến 38 giây. Biểu đồ "Số email gửi mỗi ngày" và bảng "Theo tổ chức", dừng ở hàng "Tổ chức đã xóa".
38 đến 58 giây. Mở Tenant B, tab "Mức sử dụng", phần Email. Số liệu 199, 3.761 và 150, rồi biểu đồ và bảng 6 tháng qua.
58 đến 77 giây. Vào "Cấu hình", đổi quota từ 2000 thành 1500 và bấm "Lưu". Toast báo thành công hiện ra.
77 đến 83 giây. Quay lại "Mức sử dụng email". Tile 24 giờ qua hiện 82,7% của quota 1.500.
83 đến 103 giây. Chuyển sang LMS, trang "Mức Sử Dụng" của tenant admin. Phần Email có 4.945, 0 và 198, cùng hai biểu đồ.
Hai điều cần biết. Ở vài giây đầu, biểu đồ tháng 9 còn đang vẽ. Quota 1500 trong video chỉ để thử. Sau video, quota đã được trả về mặc định 2000.
Cách dùng cho platform admin
Đây là quy trình khi bạn muốn kiểm tra relay chung đang dùng bao nhiêu quota.
Mở trang Email usage
Trong menu bên trái, nhóm "Nền tảng", chọn "Mức sử dụng email" (Email usage trong bản tiếng Anh). Trang mở ở tháng hiện tại.
Toàn trang, tháng 9/2026. Có bốn tile, một biểu đồ theo ngày và một bảng theo tenant. Click để mở ảnh đầy đủ.
Đọc bốn tile
Tile đầu tiên là con số quan trọng nhất. Nó cho biết số email gửi qua relay chung trong 24 giờ qua và phần trăm so với quota.
Tháng 9, quota 2.000. Trong 24 giờ qua có 1.240 email, bằng 62,0% quota. Cả tháng có 10.288 email qua relay chung, 3.761 qua SMTP riêng của các tenant và 588 email gửi lỗi.
Xem biểu đồ theo ngày
Biểu đồ "Số email gửi mỗi ngày" cho thấy số email gửi qua relay chung trong từng ngày của tháng, theo giờ UTC.
Tháng 9, từ ngày 1 đến ngày 30. Phần lớn các ngày có khoảng 200 đến 420 email. Đoạn trũng ngày 28 và 29/9 và đỉnh khoảng 1.250 ngày 30/9 do cách tạo dữ liệu mẫu. Chúng không cho thấy cách hệ thống chạy thật.
Xem bảng theo tenant
Bảng "Theo tổ chức" chia số email tháng đó theo tenant. Nó có ba cột đếm là "Máy chủ email chung", "SMTP riêng" và "Gửi lỗi".
Tháng 9 có sáu hàng. SkillPixel 4.945 email qua relay chung và 198 lỗi. Tenant B dùng SMTP riêng nhiều nhất, 3.761 email. Hai hàng đặc biệt là "Nền tảng" và "Tổ chức đã xóa", giải thích ở phần "Đọc màn hình".
Chọn tháng trước
Dùng mũi tên cạnh tên tháng để xem các tháng cũ. Tile 24 giờ qua không đổi khi bạn đổi tháng, vì nó luôn tính lùi từ bây giờ.
Tháng 8/2026. Tile 24 giờ qua vẫn là 1.240, 62,0% của 2.000. Ba tile còn lại đổi thành 9.714, 3.507 và 554. Tile thứ hai vẫn ghi "tháng này" dù đang xem tháng 8, xem phần giới hạn.
Xem từng tenant
Mở một tenant, vào tab "Mức sử dụng" (Usage tab), kéo xuống phần "Email". Phần này có ba tile riêng của tenant đó.
Tenant B, tháng 9. Máy chủ email chung 199, SMTP riêng 3.761, gửi lỗi 150.Bên dưới tile có biểu đồ theo ngày, tính cả hai cách gửi, và bảng "6 tháng qua". Tháng 9 là 199 qua relay chung và 3.761 qua SMTP riêng. Tháng 4 là 90 và 2.153. Click để mở ảnh đầy đủ.
Xem hoặc đổi quota
Vào "Cấu hình" (Config), tìm "Platform email daily quota". Giá trị mặc định là 2000. Bạn sửa ngay trên dòng đó, không có hộp thoại xác nhận. Nút "Lưu" chỉ sáng lên khi giá trị đã đổi.
Trước khi sửa. Nhãn "Mặc định", giá trị 2000, nút "Lưu" bị khóa.Đã gõ 1500, chưa lưu. Nút "Lưu" đã sáng.
Quay lại xem phần trăm mới
Phần trăm đổi ngay theo quota mới. Số email không đổi.
Sau khi lưu 1500. Vẫn 1.240 email trong 24 giờ, nhưng giờ là 82,7% của 1.500 thay vì 62,0% của 2.000. Ba tile còn lại giữ nguyên 10.288, 3.761 và 588.
Phần dành cho tenant admin
Trang "Mức Sử Dụng" trong LMS có thêm phần Email. Phần này chỉ có số đếm của tenant mình. Nó không có quota và không có phần trăm. Đây là chủ ý. Tenant admin không cần biết quota của relay chung, và số đó là việc của platform admin.
Mở trang sử dụng
Đăng nhập LMS với quyền admin của tenant, vào "Mức Sử Dụng", kéo xuống phần "Email".
Tenant SkillPixel, tháng 9. Gửi qua máy chủ email chung 4.945, gửi qua SMTP riêng 0, gửi lỗi 198. Tenant này không cấu hình SMTP riêng, nên số thứ hai là 0. Con số 4.945 khớp với hàng SkillPixel trong bảng của platform admin.
Xem biểu đồ
Bên dưới có biểu đồ số email mỗi ngày và biểu đồ cột "Email đã gửi · 6 tháng qua".
Bên trái là từng ngày của tháng 9. Bên phải là sáu cột từ tháng 4 đến tháng 9, tăng dần từ khoảng 2,7 nghìn lên khoảng 4,9 nghìn, riêng tháng 5 thấp còn khoảng 1,3 nghìn. Đỉnh ngày 30 và đoạn trũng cuối tháng là dữ liệu mẫu.
Đọc màn hình
Bốn tile của platform admin
Tile
Ý nghĩa
Ví dụ tháng 9
24 giờ qua
Số email gửi thành công qua relay chung trong 24 giờ gần nhất, tính lùi từ lúc mở trang. Kèm phần trăm so với quota. Email lỗi không được tính.
1.240, 62,0% của 2.000
Đã gửi tháng này (máy chủ email chung)
Email gửi thành công qua relay chung trong tháng đang chọn. Đường nhỏ bên cạnh là xu hướng theo ngày.
10.288
Gửi qua SMTP riêng của tổ chức
Email gửi thành công qua SMTP riêng của các tenant trong tháng. Số này không dùng quota của relay chung.
3.761
Gửi lỗi
Số lần gửi bị lỗi trong tháng, tính cả hai cách gửi.
588
Các hàng của bảng "Theo tổ chức"
Hàng
Ý nghĩa
Ví dụ tháng 9
Tên tenant
Email của tenant đó. Bấm vào tên để mở trang chi tiết của tenant.
SkillPixel 4.945 / 0 / 198
Nền tảng
Email gửi khi không gắn với tenant nào. Hàng này là chữ xám và không bấm được.
639 / 0 / 32
Tổ chức đã xóa
Email của một tenant đã bị xóa. Ledger không xóa dòng theo tenant, nên số email cũ vẫn được tính vào tổng của tháng.
102 / 0 / 0
Ba số trong cột ví dụ là máy chủ email chung, SMTP riêng và gửi lỗi, theo thứ tự các cột của bảng.
Vì sao tin được số liệu
Mỗi lần gửi có đúng một dòng. Dòng được ghi sau khi gửi xong, với kết quả thật là gửi được hoặc lỗi.
Ghi ledger không làm hỏng việc gửi. Nếu việc ghi bị lỗi, email vẫn đi. Hệ thống chỉ ghi một cảnh báo vào log.
Trang và API cho cùng một số. Số trên trang khớp với phản hồi của API và với truy vấn kiểm tra chạy trực tiếp trên dữ liệu mẫu, ở mọi màn hình đã chụp.
Đã kiểm tra bằng tay. Cộng sáu hàng máy chủ email chung của bảng tháng 9 được 4.945 + 3.290 + 1.113 + 639 + 199 + 102 = 10.288, đúng bằng tile tháng. Cộng cột gửi lỗi được 198 + 152 + 56 + 32 + 150 + 0 = 588, đúng bằng tile gửi lỗi. Phần trăm cũng đúng. 1.240 chia 2.000 được 62,0%. 1.240 chia 1.500 được 82,7%, sau khi làm tròn.
Bằng chứng từ dữ liệu
Mười lăm dòng ledger, chọn để có đủ các trường hợp. Có dòng gửi được qua relay chung, dòng gửi qua SMTP riêng của Tenant B, dòng lỗi, dòng không có tenant (ô trống, hiện ở trang là "Nền tảng") và dòng của tenant đã xóa. Ảnh chứng minh mỗi lần gửi là một dòng có đủ tenant, relay và kết quả. Click để mở ảnh đầy đủ.Phản hồi của API cho tháng 9. Quota 2000, 1240 email trong 24 giờ qua, 62,0 phần trăm, 10288 qua relay chung, 3761 qua SMTP riêng, 588 lỗi. Ảnh chứng minh trang chỉ hiển thị lại đúng những gì API trả về. Click để mở ảnh đầy đủ.Một lần gửi thật, không phải dữ liệu mẫu. Stack demo trỏ SMTP vào một địa chỉ không kết nối được, nên lần gửi email thử của tenant SkillPixel trả về lỗi 502. Ngay sau đó có một dòng mới với relay chung, status failed và một người nhận. Ảnh chứng minh đường ghi ledger chạy thật, kể cả khi gửi lỗi. Dòng này nằm trong số 198 email lỗi của SkillPixel ở tháng 9.
Giới hạn và lưu ý
Cách số liệu được tính
Số đếm là email, không phải người nhận. Hiện mỗi lần gửi chỉ có một người nhận, nên hai số bằng nhau. Nếu sau này có email gửi cho nhiều người cùng lúc, hãy xem lại cách Google tính giới hạn.
Cửa sổ 24 giờ là cửa sổ trượt. Nó luôn tính lùi 24 giờ từ lúc bạn mở trang, không phải từ nửa đêm. Vì vậy tile này không đổi khi bạn chọn tháng khác.
Đạt quota không chặn gì cả. Quota chỉ dùng để tính phần trăm. Email vẫn được gửi. Nếu Google từ chối, lần gửi đó sẽ hiện trong "Gửi lỗi". Hiện chưa có cảnh báo tự động.
Giá trị quota do người dùng nhập. Hệ thống không đọc giới hạn từ Google. Nếu Google Workspace đổi giới hạn, platform admin phải sửa lại trong "Cấu hình".
Lịch sử bắt đầu từ ngày deploy. Email gửi trước đó không có trong ledger và không được bổ sung sau. Các tháng cũ hơn ngày deploy sẽ hiện 0.
Ghi ledger là cố gắng hết sức. Nếu việc ghi lỗi, email vẫn đi nhưng không có dòng. Số liệu có thể thấp hơn thực tế một chút trong trường hợp đó.
Tháng tính theo giờ UTC. Ngày cuối tháng và ngày đầu tháng có thể lệch vài giờ so với giờ Việt Nam. Ngoài ra trang luôn mở ở tháng hiện tại, nên sau 0 giờ UTC ngày 1 tháng 10, các số tháng 9 trong ảnh chụp cần chọn lại bằng mũi tên tháng.
Điểm chưa gọn trên giao diện
Các điểm sau đã thấy lúc chụp. Chưa sửa điểm nào, và không điểm nào làm sai số liệu.
Tile thứ hai luôn ghi "tháng này". Khi bạn chọn tháng 8, tile vẫn ghi "Đã gửi tháng này", dù số 9.714 là của tháng 8. Hai tile sau không ghi tháng nào.
Hàng "Tổ chức đã xóa" là một liên kết. Nó trỏ tới trang của một tenant không còn tồn tại. Chưa ai bấm thử, nên có thể nó ra trang lỗi.
Hai app định dạng số khác nhau. Platform admin hiện 1,240 theo kiểu tiếng Anh. LMS hiện 4.945 theo kiểu tiếng Việt. Trang báo cáo này dùng kiểu tiếng Việt cho mọi số trong chữ.
Hai biểu đồ cùng tên, khác nội dung. "Số email gửi mỗi ngày" ở trang của platform admin chỉ đếm relay chung. Cùng tên ấy ở tab "Mức sử dụng" của tenant đếm cả hai cách gửi. Dòng mô tả dưới tiêu đề có nói rõ.
Bảng "6 tháng qua" của tenant không có cột "Gửi lỗi". Các tile phía trên thì có. Muốn biết số lỗi của tháng cũ, hiện chưa xem được ở đây.
Biểu đồ cột 6 tháng trong LMS không có chú thích màu. Khi một nhóm bằng 0, người đọc phải đưa chuột lên cột để biết màu nào là nhóm nào.
Nhãn quota trong "Cấu hình" bằng tiếng Anh. Nhãn và mô tả đều là tiếng Anh dù giao diện là tiếng Việt. Mọi mục cấu hình khác cũng vậy, nên đây là cách làm sẵn có, không phải chuỗi bị thiếu.
Quyết định đã chốt
Câu hỏi
Lựa chọn
Ghi gì vào ledger?
Một dòng cho mỗi lần gửi SMTP, dù gửi được hay lỗi. Dòng có tenant, relay (chung hoặc SMTP riêng), loại email, số người nhận và kết quả.
Khi tenant bị xóa thì sao?
Dòng ledger vẫn còn, vì ledger chỉ lưu mã tenant, không có ràng buộc khóa ngoại. Email không gắn tenant hiện là "Nền tảng". Email của tenant đã xóa hiện là "Tổ chức đã xóa".
Ghi ledger lỗi thì sao?
Email vẫn gửi. Việc ghi dùng một phiên làm việc riêng và chỉ ghi cảnh báo khi lỗi.
Khi tắt gửi email?
Không ghi gì, vì không có lần gửi SMTP nào xảy ra.
Tenant nào được ghi khi phải quay về relay chung?
Vẫn ghi tenant đó, dù email đi qua relay chung. Nhờ vậy bảng "Theo tổ chức" vẫn đúng.
Quota lưu ở đâu, mặc định bao nhiêu?
Trong Config của platform, mặc định 2000, chỉ platform admin sửa được. Quota chỉ để báo cáo và không chặn email nào.
Phần trăm tính thế nào?
Email gửi thành công qua relay chung trong 24 giờ trượt, chia cho quota.
Tenant admin thấy gì?
Chỉ số đếm của tenant mình, gồm relay chung, SMTP riêng và lỗi. Không có quota và không có phần trăm, theo chủ ý.
Đếm email hay đếm người nhận?
Đếm email. Hiện mọi nơi gửi đều có một người nhận mỗi lần.
Schema database đổi thế nào?
Migration chỉ thêm bảng mới, không sửa bảng cũ, nên bản app trước vẫn chạy được.
Việc còn lại
Chưa chạy browser QA trên beta. Báo cáo này dựa trên một stack local với dữ liệu mẫu. Nó chứng minh code chạy đúng, chưa chứng minh bản đã deploy chạy đúng. Trước khi merge hoặc sau khi lên beta, cần đi qua cả hai app bằng dữ liệu thật.
Chưa có cảnh báo và chưa có chặn gửi. Trang chỉ cho thấy số liệu. Nếu muốn báo khi vượt 80% quota, hoặc dừng gửi ở 100%, cần làm riêng.
Merge PR #509. Migration chỉ thêm bảng mới nên bản app cũ vẫn chạy được.
Sau khi lên production, kiểm tra giá trị quota có khớp giới hạn của Google Workspace hay không. Đổi trong "Cấu hình" nếu khác.
Quyết định sửa các điểm chưa gọn ở trên trong PR này hay tách ticket riêng.
Chuyển SP-767 sang Testing sau khi chạy trên beta, và sang Done khi đã có trong tag production.