> For the complete documentation index, see [llms.txt](https://docs.abot.vn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.abot.vn/cam-nang-xu-ly-su-co-troubleshooting/xu-ly-su-co-email-va-campaign.md).

# Xử lý sự cố Email, Chiến dịch và Cronjob

Trong quá trình vận hành hệ thống Marketing Automation trên **ABOT**, người dùng có thể gặp các tình huống chiến dịch không tự động gửi thư hoặc gửi email phát sinh lỗi kỹ thuật. Tài liệu này hướng dẫn cách kiểm tra và khắc phục nhanh chóng.

***

## 1. Chiến dịch (Campaign) đã kích hoạt nhưng Email không tự động gửi

### Biểu hiện:

Bạn đã thiết lập chiến dịch tự động, có khách hàng lọt vào phân khúc (Segment), nhưng bước gửi email tiếp theo không thấy thực thi, hoặc email nằm mãi ở trạng thái chờ.

### Nguyên nhân:

Hệ thống Automation của ABOT hoạt động dựa trên các tiến trình chạy ngầm định kỳ (**Cronjobs**). Nếu cronjob trên máy chủ bị dừng hoặc chưa được cấu hình, chiến dịch sẽ không thể kích hoạt các bước hành động.

### Cách kiểm tra và xử lý:

1. **Kiểm tra nhật ký Contact:**\
   Vào chi tiết một Contact trong chiến dịch ➡️ Bấm vào tab **Audit Log (Nhật ký kiểm tra)** hoặc **Campaigns** ở cột bên phải để xem contact đã được thêm vào chiến dịch chưa và đang dừng ở bước nào.
2. **Kiểm tra các lệnh Cronjob bắt buộc:**\
   Đảm bảo trên máy chủ (crontab của người dùng `www` hoặc `root`) đã kích hoạt đầy đủ các lệnh sau:
   * **Cập nhật phân khúc (Segments):**\
     `php bin/console mautic:segments:update` (Chạy mỗi 15 phút)
   * **Đưa liên hệ vào chiến dịch (Campaign Rebuild):**\
     `php bin/console mautic:campaigns:rebuild` (Chạy mỗi 15 phút)
   * **Kích hoạt các hành động gửi email/tin nhắn trong chiến dịch:**\
     `php bin/console mautic:campaigns:trigger` (Chạy mỗi 5 phút)
   * **Gửi thư từ hàng đợi (Spool):**\
     `php bin/console mautic:emails:send` (Chạy mỗi 5 phút)

***

## 2. Lỗi `Unknown DSN scheme` khi gửi Email qua Amazon SES trên ABOT 7.x

### Biểu hiện:

Khi bấm gửi thử email hoặc khi chiến dịch gửi thư, hệ thống thông báo lỗi:

```
The "ses+smtp" scheme is not supported, or Unknown DSN scheme. Please make sure the mailer DSN is configured properly.
```

### Nguyên nhân:

Trên phiên bản **ABOT 7.x (Symfony 7 / PHP 8.4)**:

1. Thư viện tích hợp `symfony/amazon-mailer` chưa được cài đặt trong vendor.
2. Hoặc mật khẩu SMTP của Amazon SES có chứa các ký tự đặc biệt (`/`, `+`, `=`) chưa được mã hóa URL (URL-encoded) khi kết nối DSN.

### Cách xử lý:

* Yêu cầu quản trị viên hệ thống chạy lệnh cài đặt thư viện hỗ trợ SES:

  ```bash
  composer require symfony/amazon-mailer --update-no-dev
  ```
* Trong file cấu hình `config/local.php`, đảm bảo mật khẩu SMTP đã được mã hóa bằng hàm `urlencode($smtp_password)`.

***

## 3. Email bị tỷ lệ Trả về (Bounce Rate) cao hoặc bị đánh dấu Spam

### Biểu hiện:

Số lượng email gửi đi không đến được hộp thư người nhận hoặc tỷ lệ rơi vào thư mục Rác/Spam vượt quá 5%.

### Nguyên nhân & Cách xử lý:

1. **Thiếu bản ghi xác thực tên miền DNS:**
   * Bắt buộc kiểm tra và cấu hình đầy đủ **SPF**, **DKIM** và **DMARC** theo hướng dẫn trong tài liệu [Xác thực DNS cho tên miền](https://github.com/thangsanps/tai-lieu-abot/tree/docs/troubleshooting/channels/email/cau-hinh-email-gui/xac-thuc-dns-spf-dkim-dmarc.md).
2. **Danh sách liên hệ bị cũ hoặc chất lượng kém:**
   * Bật cơ chế **Do Not Contact (Không liên hệ lại)** tự động khi email bị Hard Bounce.
   * Lọc và loại bỏ các contact không mở bất kỳ email nào trong vòng 6 tháng qua.
3. **Nội dung email vi phạm bộ lọc Spam:**
   * Tránh sử dụng quá nhiều chữ IN HOA ở tiêu đề (ví dụ: `KHUYẾN MÃI CỰC KHỦNG DUY NHẤT HÔM NAY`).
   * Tỷ lệ hình ảnh và văn bản phải cân đối (tránh gửi một bức ảnh duy nhất mà không có nội dung chữ).
   * **Bắt buộc có liên kết Hủy đăng ký (Unsubscribe Link):** Luôn chèn thẻ `{unsubscribe_url}` ở chân trang email.
