Bỏ qua, đến nội dung

Câu hỏi thường gặp (FAQ) — Notification Email

Cài đặt và cấu hình

Lỗi "Authentication failed" khi test gửi email?

Kiểm tra theo thứ tự:

  1. Gmail: Phải sử dụng App Password, không dùng mật khẩu tài khoản trực tiếp. Bật 2-Step Verification trước, sau đó tạo App Password
  2. Username/Password: Kiểm tra lại chính xác — chú ý khoảng trắng thừa
  3. Port và Secure: Port 587 dùng với secure: false (STARTTLS), port 465 dùng với secure: true (SSL)
  4. Tài khoản bị khoá: Một số nhà cung cấp khoá tài khoản sau nhiều lần xác thực thất bại

Email vào thư rác (spam) — làm sao khắc phục?

Biện phápMô tả
SPF RecordThêm SPF record cho domain: v=spf1 include:_spf.google.com ~all
DKIM SigningCấu hình DKIM key cho domain gửi
DMARCThiết lập DMARC policy: v=DMARC1; p=none;
Dịch vụ chuyên nghiệpDùng SendGrid, AWS SES, Mailgun thay vì SMTP cá nhân
Nội dungTránh từ khoá spam, cân bằng text/HTML, có link unsubscribe
Địa chỉ gửiDùng domain doanh nghiệp, tránh Gmail/Yahoo cá nhân

Có thể tạo nhiều kênh email không?

Có. Bạn có thể tạo nhiều channel với cấu hình SMTP khác nhau. Ví dụ:

  • support-email — SMTP cho email hỗ trợ
  • marketing-email — SMTP cho email marketing
  • system-email — SMTP cho thông báo hệ thống

Mỗi channel có channelName riêng, gọi API với tên channel tương ứng.

Sử dụng

Có thể gửi email HTML không?

Có. Trường content hỗ trợ HTML đầy đủ. Plugin sử dụng nodemailer để gửi email với html body:

typescript
await api.resource('messages').send({
  values: {
    channelName: 'default-email',
    to: ['user@example.com'],
    subject: 'Báo cáo tuần',
    content: '<h1>Báo cáo tuần 15</h1><p>Doanh thu: <strong>100M</strong></p>',
  },
});

Có giới hạn số email gửi được không?

Plugin không giới hạn, nhưng nhà cung cấp SMTP có giới hạn riêng:

Nhà cung cấpGiới hạn
Gmail500 email/ngày (tài khoản thường), 2000/ngày (Google Workspace)
SendGridTuỳ plan (Free: 100/ngày)
AWS SESTuỳ cấu hình (mặc định: 200/ngày trong sandbox)
SMTP riêngTuỳ cấu hình server

Theo dõi số lượng gửi trong Settings → Notification → Send Logs.

Làm sao biết email đã gửi thành công?

Kiểm tra Send Logs trong Settings → Notification → Send Logs:

Trạng tháiMô tả
successEmail đã được SMTP server chấp nhận
failedGửi thất bại — xem errorMessage để biết lý do

Lưu ý

success chỉ có nghĩa SMTP server đã chấp nhận email — không đảm bảo email đã đến inbox người nhận. Email có thể bị bounce hoặc vào spam.

Lỗi thường gặp

Lỗi "Connection timeout"?

Nguyên nhân: Không kết nối được đến SMTP server.

Cách khắc phục:

  • Kiểm tra firewall cho phép kết nối outbound đến SMTP host + port
  • Thử đổi port (587 ↔ 465)
  • Kiểm tra DNS resolve được hostname SMTP
  • Một số hosting provider chặn port 25 — dùng port 587 hoặc 465

Lỗi "ECONNREFUSED"?

SMTP server không lắng nghe trên host:port đã cấu hình. Kiểm tra lại hostport.

Email gửi thành công trong log nhưng người nhận không thấy?

  1. Kiểm tra thư mục Spam/Junk của người nhận
  2. Kiểm tra địa chỉ email người nhận chính xác
  3. Kiểm tra email có bị bounce — một số SMTP server trả về success nhưng email bị bounce sau đó
  4. Cấu hình SPF/DKIM/DMARC cho domain gửi