---
title: "Email và webhook"
description: "Nextvision Status — Email và webhook"
---

> Documentation Index
> Fetch the complete documentation index at: https://status.nextvisions.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Email và webhook

## Email

Cấu hình `SMTP_ADDR`, `SMTP_USER`, `SMTP_PASSWORD`, `MAIL_FROM`, `CONTACT_EMAIL`. Khi có credential, SMTP bắt buộc STARTTLS. Mailpit giữ toàn bộ email thử tại local, không cần credential.

## Chữ ký webhook

Tạo webhook HTTPS công khai trong Settings và lưu secret được hiển thị một lần. Tính HMAC-SHA256 trên chuỗi timestamp, dấu chấm và nguyên byte body. Kiểm tra `X-Nextvision-Timestamp`, `X-Nextvision-Signature`, `X-Nextvision-Event-ID`; đối chiếu chữ ký constant time, giới hạn độ cũ timestamp và chống nhận trùng theo event ID.

## Retry

Outbox PostgreSQL được ghi cùng transaction nghiệp vụ. Redis báo có công việc; DB giữ nguồn dữ liệu chính. Worker nhận lease và lấy lại lease hết hạn. Retry theo exponential backoff, tối đa 8 lần. Xem mục Notifications để biết kết quả.

Email/webhook có ngữ nghĩa at-least-once: có thể gửi lại nếu tiến trình chết sau khi bên nhận chấp nhận nhưng trước khi DB xác nhận. Email giữ Message-ID ổn định; webhook receiver cần deduplicate event ID. Unique constraint ngăn tạo nhiều delivery record cho cùng event/đích nhận.

Source: https://status.nextvisions.ai/docs/vi/notifications/index.mdx
