Gửi thư bằng SendGrid
Để gửi newsletter bằng SendGrid với ReputeCast tự host, bạn chỉ cần một SendGrid API key. ReputeCast đăng ký một Event Webhook có ký, xác thực tên miền gửi qua SendGrid API, tắt tính năng theo dõi riêng của SendGrid trên từng thư và giữ danh sách chặn gửi của hai bên luôn đồng bộ.
| Loại | API |
|---|---|
| Gửi marketing hàng loạt | Được phép |
| Webhook sự kiện | Signed Event Webhook do ReputeCast đăng ký; ECDSA P-256, khung 26 giờ |
| Thiết lập tên miền | API |
| Đồng bộ danh sách chặn gửi | Hai chiều |
| Kích thước lô | 1 |
| Ghi chú | Đọc số email credit của gói. Mỗi thư một lệnh gọi. |
Trước khi bắt đầu
Phần tiêu đề “Trước khi bắt đầu”- Một SendGrid API key có Full Access (SendGrid › Settings › API Keys). ReputeCast dùng khóa này để gửi thư, đăng ký và ký Event Webhook, xác thực tên miền, đọc và ghi danh sách chặn gửi, đọc thiết lập theo dõi và số liệu thống kê. Khóa bị giới hạn ở ít scope hơn vẫn kết nối được, nhưng các bước webhook, tên miền hoặc danh sách chặn gửi sau đó sẽ thất bại với lỗi “access forbidden”. SendGrid chỉ hiển thị khóa mới một lần, và một khóa không thể có nhiều quyền hơn người dùng tạo ra nó (Twilio SendGrid: API keys, kiểm tra tháng 10/2026).
- 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 cho Event Webhook:
<public URL>/hooks/sendgrid/<token>. SendGrid không có API sự kiện để ReputeCast hỏi định kỳ thay thế, nên địa chỉ này phải truy cập được từ internet.
Kết nối SendGrid
Phần tiêu đề “Kết nối SendGrid”-
Mở Nhà cung cấp gửi thư, chọn Thêm nhà cung cấp rồi chọn SendGrid 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.
-
Dán Khóa API. Chỉ đặt Khu vực là
eucho EU subuser; nếu không, giữglobal. Trong phần thiết lập thêm của SendGrid, bạn có thể đặt tên một Nhóm IP gồm các IP riêng để gửi qua. Để trống Event Webhook verification key: ReputeCast đọc khóa này từ SendGrid cho webhook mà nó đăng ký. -
Chọn Kết nối. ReputeCast dùng khóa để đọc credits và tài khoản của bạn, rồi lưu khóa ở dạng mã hóa.
-
Trong 2. Webhook, ReputeCast kiểm tra URL công khai của chính nó, rồi tạo (hoặc cập nhật) một Event Webhook tên “ReputeCast” cho
delivered,bounce,dropped,deferred,spamreport,unsubscribevàgroup_unsubscribe, và bật xác minh chữ ký cho webhook đó. Các sự kiện processed, open và click vẫn tắt. -
Chọn Tiếp tục xác minh tên miền và nhập tên miền gửi. ReputeCast bắt đầu xác thực tên miền trong SendGrid (automated security) và liệt kê các bản ghi CNAME SendGrid cần: return path, SPF và hai bản ghi DKIM. ReputeCast cũng đề xuất bản ghi DMARC nếu tên miền chưa có.
-
Trong Gửi thử, gửi thư thử và xem sự kiện
deliveredtrả về qua webhook có ký. -
Trong Luồng và Liên hệ, chọn các luồng và giữ tùy chọn kéo các địa chỉ chặn gửi hiện có từ SendGrid về.
Kiểm tra kết quả
Phần tiêu đề “Kiểm tra kết quả”- Thẻ SendGrid trên Nhà cung cấp gửi thư, rồi Nhà cung cấp hiển thị Ổn định, số credits của gói và chỉ số uy tín (reputation) của SendGrid.
- Trong SendGrid › Settings › Mail Settings, Event Webhook tên “ReputeCast” trỏ tới
/hooks/sendgrid/…với signature verification đang bật. - Lượt gửi thành công và thư trả lại xuất hiện trong Nhà cung cấp gửi thư, rồi Sự kiện và đồng bộ.
Mỗi yêu cầu webhook được ký bằng ECDSA trên timestamp và nội dung của nó; ReputeCast kiểm tra chữ ký bằng public key mà SendGrid trả về khi bật tính năng ký (Twilio SendGrid: Event Webhook security features, kiểm tra tháng 10/2026). ReputeCast gửi mỗi thư bằng một lệnh gọi API, với click tracking, open tracking và subscription tracking tắt trên từng thư, bất kể thiết lập của tài khoản. Đồng bộ danh sách chặn gửi kéo các mục bounces, invalid emails, spam reports và global unsubscribes (không gồm blocks) của SendGrid về, và đẩy danh sách dùng chung của ReputeCast lên global unsubscribes của SendGrid, khiến SendGrid ngừng mọi thư tới các địa chỉ đó.
Khắc phục sự cố
Phần tiêu đề “Khắc phục sự cố”- “SendGrid đã từ chối khóa này.” Khóa sai hoặc đã bị xóa. Hãy tạo khóa mới có Full Access và dán vào.
- “SendGrid không trả lời lệnh kiểm tra” ngay sau khi bạn dán một khóa hợp lệ. SendGrid có thể đang từ chối vì tài khoản đã dùng hết credits; ReputeCast coi đó là giới hạn tạm thời. Hãy kiểm tra gói của bạn, rồi thử lại.
- Đăng ký webhook hoặc bước tên miền thất bại với “access forbidden”. Khóa bị giới hạn quyền. Hãy cấp Full Access cho khóa trong SendGrid (hoặc tạo khóa mới) và thay thế trong Cài đặt, rồi Thông tin xác thực.
- Thư thử thất bại với
sender_not_verified. SendGrid chỉ gửi từ một Sender Identity đã xác minh. Hãy hoàn tất xác thực cho tên miền From (hoặc xác minh single sender trong SendGrid), rồi gửi lại thư thử. - Sự kiện ngừng đến và thẻ hiển thị Suy giảm kèm Webhook im lặng. Webhook đã bị xóa, bị vô hiệu hóa hoặc bị tắt tính năng ký trong SendGrid. Hãy chọn Đăng ký lại webhook trên sự cố của nhà cung cấp; nếu bạn tự thiết lập webhook, hãy dán verification key của nó.
- Thư giao dịch có Cc, Bcc hoặc tệp đính kèm bị lỗi. Adapter SendGrid 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.
- Danh mục hiển thị huy hiệu “Chế độ sandbox”. ReputeCast không bao giờ bật sandbox mode của SendGrid: mọi thư nó chuyển đi đều được gửi thật.
- Bạn đã đổi URL công khai hoặc ngắt kết nối SendGrid. URL công khai mới thêm một Event Webhook thứ hai; hãy xóa webhook cũ trong SendGrid. Ngắt kết nối sẽ xóa webhook ở URL hiện tại; các tên miền đã xác thực, địa chỉ chặn gửi đã đẩy lên và thiết lập theo dõi vẫn giữ nguyên.