Gửi thư bằng Azure Communication Services
ReputeCast gửi email bằng Azure Communication Services qua Email Communication resource của bạn và đọc báo cáo gửi từ một Azure Event Grid subscription. ReputeCast không tạo được gì trong Azure thay bạn: bạn tự thiết lập tên miền email và Event Grid subscription trong Azure portal, còn ReputeCast cung cấp URL webhook và kiểm tra tính xác thực của từng yêu cầu mà Event Grid gửi tới.
| Loại | API |
|---|---|
| Gửi marketing hàng loạt | Được phép |
| Webhook sự kiện | Event Grid subscription do bạn tạo trong Azure; token Entra ID hoặc một khóa bí mật dùng chung |
| Thiết lập tên miền | DNS thủ công |
| Đồng bộ danh sách chặn gửi | Chỉ cục bộ |
| Kích thước lô | 1 |
| Ghi chú | Tên miền email và Event Grid subscription (theo Event Grid event schema) được thiết lập trong Azure portal. ReputeCast trả lời bước bắt tay xác thực (validation handshake) của Event Grid. |
Trước khi bắt đầu
Phần tiêu đề “Trước khi bắt đầu”- Một Communication Services resource có custom email domain đã xác minh được kết nối với nó, cùng các sender username bạn dùng để gửi (Microsoft Learn: Add custom verified email domains, kiểm tra tháng 10/2026). Tên hiển thị From lấy từ sender username trong Azure, không phải từ ReputeCast.
- Thông tin xác thực. Hoặc connection string của resource (Azure portal › Communication Services resource của bạn › Keys), hoặc một Microsoft Entra ID app registration có client secret và vai trò Communication and Email Service Owner trên resource.
- Quyền. Kết nối cần
providers:manage; thêm tên miền gửi mới cầndomains:manage. - Một địa chỉ HTTPS công khai. Event Grid gửi tới
<public URL>/hooks/azureacs/<token>. Không thể hỏi định kỳ Azure để lấy các sự kiện đã qua, nên địa chỉ phải truy cập được từ internet.
Kết nối Azure Communication Services
Phần tiêu đề “Kết nối Azure Communication Services”-
Mở Nhà cung cấp gửi thư, chọn Thêm nhà cung cấp rồi chọn Azure Communication Services trong danh mục. Kết nối nhà cung cấp gửi thư giải thích các bước chung của mọi nhà cung cấp.
-
Nhập một bộ thông tin xác thực:
- Connection string (
endpoint=https://…/;accesskey=…), hoặc - trong phần thiết lập thêm của Azure, Endpoint
(
https://<resource>.communication.azure.com), Entra ID tenant ID, Application (client) ID và Client secret. Khi cả hai được điền, Entra ID sẽ được dùng.
Đồng thời nhập các giới hạn Azure cấp cho tên miền của bạn: Giới hạn gửi · mỗi phút trở thành tốc độ gửi của ReputeCast cho Azure (biểu mẫu đề xuất 30 cho một custom domain mới cho đến khi Azure nâng giới hạn), còn Giới hạn gửi · mỗi giờ được hiển thị trên thẻ.
- Connection string (
-
Chọn Kết nối. ReputeCast thực hiện một lệnh gọi chỉ đọc tới resource của bạn và lưu thông tin xác thực ở dạng mã hóa. Thẻ hiển thị “Communication Services · truy cập được” và các giới hạn của bạn.
-
Trong 2. Webhook, ReputeCast kiểm tra URL công khai của chính nó, rồi hiển thị URL webhook cần thêm trong Azure. Chọn Sao chép URL.
-
Chọn cách Event Grid chứng minh mỗi yêu cầu đến từ subscription của bạn:
- Một khóa bí mật dùng chung. Chọn Tạo khóa bí mật và sao chép khóa; khóa chỉ
hiển thị một lần, và khóa mới sẽ thay thế khóa cũ. Event Grid sẽ gửi khóa này dưới dạng custom delivery header
X-ReputeCast-Secret(hoặc dưới dạngAuthorization: Bearer <secret>). - Microsoft Entra ID. Nhập Event Grid · Entra application ID (application ID hoặc
URI
api://của nó) và, khi ứng dụng đó nằm ở tenant khác, Event Grid · Entra tenant ID. Khi đó ReputeCast chỉ chấp nhận Entra token được cấp cho ứng dụng đó với vai tròAzureEventGridSecureWebhookSubscriber.
- Một khóa bí mật dùng chung. Chọn Tạo khóa bí mật và sao chép khóa; khóa chỉ
hiển thị một lần, và khóa mới sẽ thay thế khóa cũ. Event Grid sẽ gửi khóa này dưới dạng custom delivery header
-
Trong Azure portal, mở Communication Services resource của bạn › Events › Add Event Subscription và tạo một subscription với:
- event type Email Delivery Report Received (
Microsoft.Communication.EmailDeliveryReportReceived); - event schema Event Grid Schema;
- endpoint type Web Hook, với URL bạn đã sao chép;
- với khóa bí mật dùng chung: một delivery property (custom header)
X-ReputeCast-Secretđặt bằng khóa bí mật, có đánh dấu “Is secret?”; với Entra ID: Microsoft Entra authentication với ứng dụng ở bước 5.
ReputeCast tự trả lời validation handshake của Event Grid, nên subscription được tạo ngay. Xem Microsoft Learn: Handle email events, Set custom headers on delivered events và Deliver events to Microsoft Entra protected endpoints (kiểm tra tháng 10/2026).
- event type Email Delivery Report Received (
-
Chọn Tiếp tục xác minh tên miền. Các bản ghi DKIM và bản ghi xác minh của Azure đến từ Azure portal, nên bước tên miền chỉ kiểm tra những gì ReputeCast kiểm tra được (DMARC được đề xuất nếu tên miền chưa có).
-
Trong Gửi thử, gửi thư thử. Trình hướng dẫn cho phép bạn tiếp tục trước khi thiết lập xong Event Grid, nên bước này là bằng chứng: dòng thời gian chờ báo cáo gửi đầu tiên từ Azure.
-
Hoàn tất Luồng và Liên hệ. Không có gì để kéo về: ReputeCast không đọc hay ghi danh sách chặn gửi của Azure.
Kiểm tra kết quả
Phần tiêu đề “Kiểm tra kết quả”- Dòng thời gian của thư thử hiển thị báo cáo gửi từ Azure.
- Thẻ Azure trên Nhà cung cấp gửi thư, rồi Nhà cung cấp hiển thị Ổn định.
- Trong Azure portal, metrics của event subscription hiển thị các sự kiện đã chuyển đi và không có lỗi chuyển.
ReputeCast gửi mỗi thư bằng một lệnh gọi API với engagement tracking của Azure tắt; ReputeCast tự theo dõi lượt mở và lượt nhấp. Báo cáo gửi được ánh xạ sang sự kiện ReputeCast: Delivered thành gửi thành công, Bounced thành trả thư vĩnh viễn (trả thư tạm thời khi máy chủ nhận chặn người gửi), Suppressed thành bị từ chối, còn FilteredSpam, Quarantined và Failed thành trả thư tạm thời. Azure không báo khiếu nại hay hủy đăng ký, nên những sự kiện này chỉ đến từ liên kết hủy đăng ký của chính ReputeCast. Danh sách chặn gửi dùng chung được áp dụng trước mỗi lần gửi.
Khắc phục sự cố
Phần tiêu đề “Khắc phục sự cố”- “Không dùng được các cài đặt này: … the connection string needs endpoint= and accesskey=”. Hãy sao chép toàn bộ connection string từ trang Keys của resource.
- “Azure Communication Services đã từ chối khóa này”. Access key đã được tạo lại, hoặc client secret hay các ID của ứng dụng Entra bị sai. Với Entra ID, hãy kiểm tra thêm ứng dụng có vai trò Communication and Email Service Owner hay không.
- Thư thử chờ mãi sự kiện đầu tiên. Hãy kiểm tra subscription trong Azure: event type, Event Grid schema, URL
webhook chính xác, và header
X-ReputeCast-Secret(hoặc Entra authentication). Các yêu cầu không có xác thực hợp lệ nhận401từ ReputeCast. - Yêu cầu bắt đầu thất bại sau khi bạn tạo khóa bí mật mới. Mỗi khóa mới thay thế khóa cũ ngay lập tức. Hãy dán khóa mới vào delivery header của subscription.
- Thư đến với tên From sai. Azure dùng tên hiển thị của sender username được cấu hình trong Azure. Hãy đổi ở đó.
- Thư giao dịch có Cc, Bcc hoặc tệp đính kèm bị lỗi. Adapter Azure không gửi được bản sao hay tệp đính kèm; hãy định tuyến các mẫu đó qua nhà cung cấp khác.
- Bạn đã đổi URL công khai hoặc ngắt kết nối Azure. ReputeCast không thay đổi gì trong Azure. Hãy tự cập nhật hoặc xóa event subscription.