WordPress không gửi được email? Cách khắc phục nhanh
Khắc phục sự cố chuyển phát email WordPress. Nguyên nhân phổ biến và giải pháp từng bước cho contact form, WooCommerce, đặt lại mật khẩu và email thông báo.
Nếu site WordPress của bạn không gửi được email, bạn không phải là người duy nhất. Đây là một trong những vấn đề WordPress phổ biến nhất, ảnh hưởng đến contact form, đặt lại mật khẩu, xác nhận đơn WooCommerce và thông báo plugin.
Tin vui: vấn đề này có thể khắc phục trong khoảng 10 phút.
Vì sao email WordPress thất bại
WordPress dùng hàm mail() tích hợp sẵn của PHP để gửi email. Phương thức này có vấn đề căn bản:
| Vấn đề | Tác động |
|---|---|
| Không xác thực | Email bị đánh dấu đáng ngờ |
| IP shared hosting | Thường bị nhà cung cấp email blacklist |
| Thất bại âm thầm | Không có thông báo lỗi khi email thất bại |
| Không mã hóa | Lo ngại về bảo mật |
| Giới hạn tốc độ | Nhà cung cấp hosting tiết chế việc gửi |
Phần lớn nhà cung cấp hosting (GoDaddy, Bluehost, SiteGround, v.v.) hạn chế hoặc tắt hoàn toàn PHP mail() để ngăn lạm dụng spam trên server của họ.
Triệu chứng phổ biến
- Bài gửi contact form không bao giờ nhận được
- Thông báo “Kiểm tra email” nhưng không có gì đến
- Thiếu xác nhận đơn WooCommerce
- Link đặt lại mật khẩu không được chuyển phát
- Email đăng ký người dùng mới thất bại
- Thông báo plugin biến mất
- Email đến nhưng rơi vào spam
Cách khắc phục: plugin SMTP + dịch vụ email
Bước 1: Cài WP Mail SMTP
- Vào Plugins > Add New trong WordPress admin
- Tìm “WP Mail SMTP”
- Bấm Install Now rồi Activate
Bước 2: Tạo tài khoản Brevo miễn phí
- Đăng ký tại brevo.com (miễn phí, không cần thẻ tín dụng)
- Vào Settings > SMTP & API > API Keys
- Tạo và sao chép API key của bạn
Bước 3: Cấu hình plugin
- Vào WP Mail SMTP > Settings
- Đặt From Email thành email domain của bạn ([email protected])
- Đặt From Name thành tên site
- Chọn Brevo làm trình gửi
- Dán API key của bạn
- Bấm Save Settings
Bước 4: Kiểm thử
- Vào WP Mail SMTP > Email Test
- Nhập địa chỉ email của bạn
- Bấm Send Email
- Xác minh email đến hộp thư đến (không phải spam)
Bước 5: Thiết lập xác thực DNS
Thêm bản ghi SPF và DKIM vào cài đặt DNS của domain. Brevo cung cấp bản ghi chính xác. Bước này quan trọng để tránh thư mục spam. Xem hướng dẫn SPF DKIM DMARC của chúng tôi.
Khắc phục các vấn đề cụ thể
Email contact form không gửi được
- Xác minh email kiểm thử WP Mail SMTP hoạt động
- Kiểm tra cài đặt plugin form (Contact Form 7, WPForms, Gravity Forms)
- Đảm bảo địa chỉ email “To” trong cài đặt form đúng
- Kiểm tra thư mục spam/rác
- Xác minh không có bộ lọc email nào chặn tin nhắn
Email WooCommerce thiếu
- Vào WooCommerce > Settings > Emails
- Xác minh từng loại email được bật
- Kiểm tra địa chỉ email người nhận
- Đặt đơn thử để xác minh
- Kiểm tra log email WP Mail SMTP để tìm lỗi
Email vào spam
- Thiết lập bản ghi SPF, DKIM và DMARC
- Đảm bảo From Email dùng domain của bạn (không phải @gmail.com)
- Kiểm tra domain trên danh sách blacklist email
- Chạy test spam email
- Tránh từ kích hoạt spam trong nội dung email
Xung đột plugin
- Tắt mọi plugin liên quan đến email khác (chỉ một plugin nên xử lý email)
- Tạm thời chuyển sang theme mặc định
- Kiểm thử chỉ với WP Mail SMTP
- Bật lại plugin từng cái một để tìm xung đột
Phòng ngừa
Sau khi khắc phục, hãy giữ email WordPress đáng tin cậy:
- Theo dõi chuyển phát, kiểm tra log WP Mail SMTP định kỳ
- Cập nhật plugin, plugin lỗi thời có thể làm hỏng email
- Kiểm thử sau cập nhật, cập nhật lớn của WordPress/plugin có thể ảnh hưởng đến email
- Giữ domain sạch, tránh xa blacklist
- Dùng email chuyên nghiệp, luôn gửi từ domain của bạn, không dùng địa chỉ email miễn phí
Để có chi tiết thiết lập SMTP đầy đủ, xem hướng dẫn WordPress SMTP và hướng dẫn WP Mail SMTP của chúng tôi.