Email transactional (welcome, OTP, xác nhận đơn) là xương sống của mọi web nghiêm túc. Vào spam = mất khách. Đây là 3 phương án theo độ ưu tiên.

1. PHP mail() — KHÔNG dùng cho production

Mặc định WordPress dùng. Vấn đề: server hosting share IP với hàng nghìn web khác, IP đó hay vào blacklist. SPF/DKIM không setup được. Tỉ lệ vào spam 60-90%.

2. SMTP qua Gmail / SendGrid

Dùng SMTP server bên ngoài thay vì PHP mail. Setup trong WordPress qua hook phpmailer_init hoặc plugin WP Mail SMTP.

  • Gmail: free 500/ngày, cần App Password
  • SendGrid: free 100/ngày, deliverability tốt
  • AWS SES: $0.10 / 1000 mail, cần verify domain

3. API Resend — recommend hiện tại

Resend (resend.com) là email API gen mới (2023+) — focus deliverability, dev-friendly, free 100/day + 3000/month.

$response = wp_remote_post('https://api.resend.com/emails', [
    'headers' => [
        'Authorization' => 'Bearer ' . RESEND_API_KEY,
        'Content-Type'  => 'application/json',
    ],
    'body' => json_encode([
        'from'    => 'noreply@yoursite.com',
        'to'      => $customer_email,
        'subject' => 'Đơn hàng #' . $order_id,
        'html'    => $html_body,
    ]),
]);

Setup DNS bắt buộc (3 record)

  1. SPF — TXT record cho phép server gửi mail
  2. DKIM — chữ ký digital cho mỗi email
  3. DMARC — policy khi SPF/DKIM fail

Setup 3 record này → mail đi trong 95%+ trường hợp không vào spam, kể cả Gmail/Outlook.

Test deliverability

mail-tester.com — gửi mail test tới địa chỉ họ cho, nhận điểm 0-10. Trên 8 là OK. Sửa các issue họ chỉ ra.