SMTP và template email
Vị trí trong admin: System › Settings › Email (
/settings/email) — các tab SMTP và Email templates. Nhật ký gửi thư: Overview › Support › Sent emails (/support/emails).
Chức năng
NexCMP gửi email để xác thực đăng ký, đặt lại mật khẩu, thông báo "VM ready" (kèm mật khẩu khởi tạo), hóa đơn, số dư thấp, gia hạn, nạp tiền, phản hồi hỗ trợ và nhiều tác vụ khác. Tất cả đều đi qua một tài khoản SMTP do bạn cung cấp. Thư và template hỗ trợ 16 ngôn ngữ; ngôn ngữ của khách hàng sẽ được ưu tiên sử dụng.
Yêu cầu
| Hạng mục | Yêu cầu |
|---|---|
| Máy chủ SMTP | Host, cổng và thông tin xác thực của bất kỳ nhà cung cấp nào (máy chủ riêng của bạn, Brevo, Amazon SES, Mailgun, Google Workspace …) |
| Mạng | TCP chiều đi từ máy chủ NexCMP đến host và cổng SMTP (587 STARTTLS, 465 TLS hoặc 25) |
| Tên miền người gửi | Tên miền thuộc quyền kiểm soát của bạn, đã phát hành bản ghi SPF và DKIM cho nhà cung cấp cùng một bản ghi DMARC |
| Quyền gửi thư | Tài khoản SMTP phải được phép gửi dưới địa chỉ From |
Khả năng gửi thư thành công
Các email như thông báo "VM ready" chứa mật khẩu. Nếu SPF/DKIM/DMARC của tên miền người gửi không khớp với nhà cung cấp SMTP, chúng sẽ bị đưa vào thư rác. Trang này sẽ nhắc nhở bạn về điều đó.
Chuẩn bị nhà cung cấp email
- Trong bảng điều khiển của nhà cung cấp, hãy thêm và xác minh tên miền gửi thư của bạn (ví dụ:
example.com). - Phát hành các bản ghi DNS cho SPF, DKIM và DMARC do nhà cung cấp hiển thị.
- Tạo người dùng SMTP (hoặc khóa API-SMTP) và ghi lại host, cổng, tên đăng nhập cùng mật khẩu.
Kết nối trong NexCMP
- Mở System › Settings › Email, tab SMTP.
- Điền vào biểu mẫu:
| Trường | Ví dụ | Ghi chú |
|---|---|---|
| Host | smtp.example.net | Máy chủ SMTP |
| Cổng | 587 | |
| Security | STARTTLS (587) | Chọn chế độ mà nhà cung cấp của bạn yêu cầu |
| Username | smtp-user | |
| Mật khẩu | (ẩn) | Chỉ ghi: trang chỉ hiển thị xem đã được thiết lập hay chưa |
| From email | no-reply@example.com | Phải được ủy quyền tại nhà cung cấp |
| From name | Example Cloud | Mặc định theo tên thương hiệu của bạn |
| Reply-To (tùy chọn) | support@example.com | Nơi nhận phản hồi của khách hàng |

- Nhấp vào Save, sau đó nhấn Send test và nhập địa chỉ của chính bạn.
Các cài đặt được lưu trong một tệp bị hạn chế quyền truy cập (smtp.json, mode 0600) và chỉ có worker chạy ngầm nexcmp-vmd gửi thư; web service chỉ xếp thư vào hàng đợi.
Kiểm tra
- Thư thử nghiệm được gửi đến hộp thư đến (hãy kiểm tra cả mục thư rác). Trong mã nguồn thư, hãy xác nhận
dkim=passvàspf=pass. - Mở Support › Sent emails: mỗi thư có một trạng thái (queued, sent, failed) và kết quả gửi. Các thư gửi thất bại được thử lại tối đa 3 lần.
- Đăng ký một khách hàng thử nghiệm trên portal và xác nhận email xác thực đã được gửi đến.
Chỉnh sửa mẫu email
Tab Email templates liệt kê từng mẫu theo khóa, cùng các ngôn ngữ hiện có (ví dụ verify_email, reset_password, vm_ready, invoice_paid, low_balance, topup_received, ticket_reply, scale_up …).
- Nhấp vào một mẫu và chọn một ngôn ngữ.
- Chỉnh sửa tiêu đề và nội dung. Các placeholder sẽ được điền vào khi thư được xếp vào hàng đợi.
- Lưu lại. Thay đổi sẽ áp dụng ngay lập tức cho các thư được xếp vào hàng đợi sau đó.

Giới hạn và lưu ý
- Một tài khoản SMTP cho mỗi bản cài đặt. Khách hàng của đại lý nhận email qua cùng một tài khoản trừ khi đại lý được cấu hình khác.
- Áp dụng giới hạn gửi của nhà cung cấp; NexCMP không điều tiết lưu lượng ngoài việc thử gửi lại.
- Nếu không có SMTP, panel vẫn hoạt động, nhưng khách hàng không thể hoàn tất xác thực đăng ký và đặt lại mật khẩu.
Xử lý sự cố
| Hiện tượng | Nguyên nhân | Cách khắc phục |
|---|---|---|
| Email thử nghiệm không bao giờ đến | Thông tin đăng nhập sai, cổng bị chặn, người gửi chưa được ủy quyền | Kiểm tra journalctl -u nexcmp-vmd để xem lỗi SMTP; thử cổng 587 với STARTTLS; xác minh địa chỉ From tại nhà cung cấp. |
| Thư bị đưa vào mục spam | Thiếu hoặc sai lệch cấu hình SPF/DKIM/DMARC | Xuất bản các bản ghi của nhà cung cấp và gửi từ tên miền đó. |
| "thất bại" trong Email đã gửi | Nhà cung cấp đã từ chối thư | Mở hàng đó để xem phản hồi của nhà cung cấp. |
| Trường mật khẩu hiển thị trống sau khi lưu | Theo thiết kế (chỉ ghi) | Nhãn hiển thị "current: set" sau khi mật khẩu đã được lưu. |