WordPress email không nhận được là vấn đề phổ biến khiến nhiều chủ website đau đầu. Khi hệ thống không gửi được email xác nhận đăng ký, thông báo bình luận hay phục hồi mật khẩu, trải nghiệm quản trị bị ảnh hưởng nghiêm trọng. Bài viết này sẽ phân tích nguyên nhân gốc rễ và hướng dẫn bạn từng bước khắc phục triệt để lỗi WordPress không gửi được email.
Vì sao WordPress email không nhận được?

WordPress sử dụng hàm wp_mail() dựa trên PHP mail() mặc định. Hàm này không được cấu hình tối ưu để đáp ứng tiêu chuẩn email hiện đại nên thường bị chặn bởi máy chủ nhận hoặc rơi vào thư mục spam. Ngoài ra, nhiều nhà cung cấp hosting chặn port 25 hoặc giới hạn số lượng email gửi đi để ngăn chặn spam, khiến email không đến được hộp thư đến.
Nguyên nhân chính dẫn đến lỗi WordPress không gửi được email
1. Máy chủ hosting chặn hoặc giới hạn gửi email
Hosting giá rẻ thường không hỗ trợ gửi email qua PHP mail(). Họ chặn port 25 hoặc giới hạn số lượng email mỗi giờ. Nếu website của bạn gửi nhiều email cùng lúc, máy chủ sẽ từ chối kết nối và email không được gửi đi.
2. Plugin hoặc theme xung đột
Một số plugin bảo mật, cache hoặc tối ưu hóa có thể vô hiệu hóa chức năng gửi email. Theme kém chất lượng cũng có thể ghi đè hàm wp_mail() gây ra lỗi. Việc xung đột giữa các plugin là nguyên nhân thường gặp khiến WordPress email không nhận được.
3. Thiếu cấu hình SMTP
SMTP (Simple Mail Transfer Protocol) là giao thức gửi email chuẩn. Nếu không cấu hình SMTP, WordPress mặc định dùng PHP mail() dễ bị đánh dấu là spam. Hầu hết các dịch vụ email lớn như Gmail, Outlook yêu cầu xác thực SMTP mới cho phép gửi.
4. Vấn đề bảo mật và xác thực gửi email
Các bản ghi SPF, DKIM, DMARC chưa được thiết lập đúng cách. Dịch vụ email đến sẽ không tin tưởng nguồn gửi và chặn email. Ngoài ra, nếu sử dụng Gmail SMTP mà không dùng mật khẩu ứng dụng, Google sẽ từ chối kết nối.
5. Email sai định dạng hoặc nội dung bị chặn
Email gửi từ WordPress có thể chứa liên kết hoặc mã HTML không hợp lệ. Bộ lọc spam ở máy chủ nhận sẽ đánh dấu là thư rác. Thiếu header From hoặc Reply-To cũng khiến email bị từ chối.
Cách kiểm tra WordPress có gửi email thành công hay không

Trước khi khắc phục, bạn cần xác định lỗi nằm ở đâu. Sử dụng plugin Check Email hoặc Email Log để kiểm tra. Cài plugin và gửi thử email test. Nếu plugin báo gửi thành công nhưng bạn không nhận được, vấn đề nằm ở máy chủ nhận hoặc bộ lọc spam. Nếu plugin báo lỗi, nguyên nhân là do cấu hình website.
Hướng dẫn khắc phục lỗi WordPress email không nhận được chi tiết từ A đến Z
Bước 1: Kiểm tra thư mục Spam và bộ lọc email
Nhiều người cho rằng mất email nhưng thực ra chúng nằm trong thư mục spam. Hãy kiểm tra kỹ hộp thư spam. Thêm địa chỉ email gửi vào danh sách an toàn. Nếu sử dụng Gmail, tìm trong tab Promotions hoặc Social.
Bước 2: Cài đặt và cấu hình plugin SMTP
Plugin SMTP là giải pháp phổ biến nhất.
- Easy WP SMTP – Nhẹ, cấu hình nhanh, phù hợp với người mới.
- Post SMTP – Có tính năng logging chi tiết, hỗ trợ nhiều xác thực.
- Fluent SMTP – Giao diện đẹp, tích hợp sẵn các dịch vụ email nổi tiếng.
Cấu hình SMTP với Gmail
Vào plugin SMTP, chọn mailer là “Other SMTP”. Nhập thông số:
- SMTP Host: smtp.gmail.com
- Encryption: TLS (port 587) hoặc SSL (port 465)
- Authentication: ON
- Username: email Gmail đầy đủ
- Password: mật khẩu ứng dụng (không phải mật khẩu tài khoản)
Cách tạo mật khẩu ứng dụng Gmail: vào myaccount.google.com, chọn Bảo mật, tìm Mật khẩu ứng dụng, tạo và copy.
Cấu hình SMTP với SendGrid
Dịch vụ gửi email chuyên nghiệp, miễn phí 100 email/ngày. Thông số SMTP:
- Host: smtp.sendgrid.net
- Port: 587 (TLS) hoặc 465 (SSL)
- Username: apikey
- Password: API key từ SendGrid
Cấu hình SMTP với Mailgun
Phù hợp với website có lưu lượng email lớn. Cần tạo domain trong Mailgun và lấy thông số SMTP:
- Host: smtp.mailgun.org
- Port: 587 (TLS) hoặc 465 (SSL)
- Username: domain@yourdomain.com
- Password: SMTP password từ Mailgun
Cấu hình SMTP với Amazon SES
Dịch vụ đám mây giá rẻ, cần xác minh domain. Thông số:
- Host: email-smtp.us-east-1.amazonaws.com (thay region đúng)
- Port: 587 (TLS)
- Username: SMTP username từ IAM
- Password: SMTP password từ IAM
Bước 3: Kiểm tra và thêm bản ghi DNS (SPF, DKIM, DMARC)
Nếu dùng SMTP qua dịch vụ bên thứ ba, bạn cần cập nhật bản ghi DNS trên quản lý tên miền:
- Bản ghi SPF: v=spf1 include:_spf.google.com ~all (cho Gmail) hoặc include:sendgrid.net (cho SendGrid).
- Bản ghi DKIM: Kích hoạt DKIM trong dịch vụ email và thêm TXT record vào DNS.
- Bản ghi DMARC: Tùy chọn nhưng nên thêm để tăng khả năng gửi thành công.
Bước 4: Tắt xung đột plugin/theme
Tạm thời vô hiệu hóa tất cả plugin. Gửi email test. Nếu hoạt động, bật từng plugin để xác định plugin gây lỗi. Kiểm tra theme: chuyển sang theme mặc định Twenty Twenty-Four và gửi email thử.
Bước 5: Cập nhật WordPress, PHP và các thành phần
Phiên bản WordPress cũ có thể chứa lỗi liên quan đến gửi email. Cập nhật lên phiên bản mới nhất. PHP phiên bản 7.4 trở lên được khuyến nghị. Kiểm tra trong phần Thông tin máy chủ (Tools -> Site Health).
Bước 6: Sử dụng dịch vụ transactional email chuyên nghiệp
Nếu website của bạn gửi nhiều email (thông báo, hóa đơn, marketing), nên dùng dịch vụ chuyên transactional thay vì dùng SMTP miễn phí. Các dịch vụ như SendGrid, Mailgun, Amazon SES, Postmark có độ tin cậy cao và tỷ lệ vào hộp thư đến tốt hơn.
So sánh các phương thức gửi email trong WordPress

| Phương thức | Ưu điểm | Nhược điểm | Khả năng gửi thành công |
|---|---|---|---|
| PHP mail() mặc định | Không cần cấu hình, miễn phí | Dễ bị chặn, không xác thực, bị giới hạn bởi hosting | Thấp, thường vào spam |
| SMTP plugin (Gmail, Outlook) | Dễ cài, miễn phí cho lượng nhỏ | Giới hạn gửi, cần bảo mật mật khẩu ứng dụng | Trung bình, tùy vào hạn ngạch |
| Dịch vụ transactional (SendGrid, Mailgun) | Độ tin cậy cao, xác thực chuẩn, hỗ trợ logging | Có phí khi vượt hạn mức, cần đăng ký tài khoản | Cao, vào inbox tốt |
| Amazon SES | Giá rẻ cho khối lượng lớn, khả năng mở rộng | Cấu hình phức tạp, yêu cầu kiến thức AWS | Cao, phù hợp cho enterprise |
Sai lầm thường gặp khi xử lý lỗi WordPress email không nhận được
- Dùng mật khẩu Gmail thay vì mật khẩu ứng dụng: Google yêu cầu mật khẩu ứng dụng nếu bật xác thực 2 lớp.
- Bỏ qua kiểm tra hosting: Nhiều hosting cấm port 25, bạn phải dùng SMTP qua port khác hoặc dùng dịch vụ bên ngoài.
- Không kiểm tra log email: Plugin như Post SMTP có log giúp bạn thấy lỗi cụ thể. Bỏ qua log là mất thời gian.
- Không thiết lập đúng From Name và From Email: Dùng email @gmail.com làm From có thể bị chặn vì không khớp tên miền website.
- Vô hiệu hóa tất cả plugin mà không kiểm tra từng cái: Cần kiểm tra có hệ thống để tìm đúng plugin lỗi.
Lưu ý quan trọng khi cấu hình gửi email WordPress

- Luôn dùng mật khẩu ứng dụng hoặc API key thay vì mật khẩu tài khoản chính.
- Sao lưu website trước khi thay đổi cấu hình liên quan đến plugin và theme.
- Kiểm tra tỷ lệ gửi thành công bằng các công cụ như Mail-Tester.com.
- Nếu website có nhiều người dùng đăng ký, nên dùng dịch vụ email trả phí để tránh bị chặn hàng loạt.
- Thường xuyên kiểm tra nhật ký email để phát hiện sớm lỗi.
Câu hỏi thường gặp (FAQ) về lỗi WordPress email không nhận được
Làm sao biết WordPress có gửi email thành công hay không?
Cài plugin Email Log hoặc Check Email, gửi email test. Plugin sẽ hiển thị trạng thái gửi. Nếu thành công nhưng bạn không nhận, kiểm tra spam và bộ lọc email.
Có nên dùng PHP mail() mặc định không?
Không nên. PHP mail() không được xác thực và dễ bị chặn. Hầu hết hosting chặn hoặc giới hạn chức năng này. Chuyển sang SMTP là giải pháp bắt buộc.
Tại sao email WordPress vào spam dù đã cấu hình SMTP?
Nguyên nhân có thể do thiếu bản ghi SPF/DKIM, nội dung email chứa liên kết không an toàn, hoặc tên miền gửi chưa được xác minh. Thêm bản ghi xác thực và kiểm tra điểm số spam.
WordPress có thể gửi email qua Gmail miễn phí không?
Có, nhưng giới hạn 500 email/ngày và cần dùng mật khẩu ứng dụng. Vượt quá hạn mức, Google sẽ tạm thời chặn. Dịch vụ transactional phù hợp hơn cho website có lưu lượng lớn.
Lỗi “Could not authenticate” khi cấu hình SMTP là do đâu?
Mật khẩu ứng dụng sai hoặc chưa bật xác thực 2 lớp cho tài khoản Gmail. Kiểm tra lại mật khẩu và đảm bảo plugin SMTP dùng đúng port (587 TLS).
Có plugin nào thay thế hoàn toàn chức năng gửi email không?
Plugin SMTP chỉ thay đổi cách gửi email. Bạn vẫn cần dịch vụ email backend. Một số plugin như WP Mail SMTP Pro tích hợp sẵn API của Mailgun, SendGrid.
Kết luận

Lỗi WordPress email không nhận được thường do cấu hình SMTP thiếu, hosting chặn hoặc xung đột plugin. Giải pháp hiệu quả nhất là cài plugin SMTP và cấu hình đúng với dịch vụ email uy tín. Đừng quên thiết lập bản ghi DNS xác thực và kiểm tra log thường xuyên. Nếu bạn đang gặp vấn đề, hãy thực hiện lần lượt các bước trong bài viết này. Việc gửi email thành công sẽ giúp website vận hành chuyên nghiệp và giữ chân người dùng tốt hơn.
- DNS Lookup WordPress Là Gì? Hướng Dẫn Chi Tiết Từ A-Z Cho Người Mới Bắt Đầu
- Woocommerce Sales Report Lỗi: Nguyên Nhân, Cách Khắc Phục Chi Tiết Từ A-Z
- Woocommerce Stock Không Cộng: Nguyên Nhân Và Cách Khắc Phục Triệt Để
- WooCommerce Add to Cart JavaScript Lỗi: Nguyên Nhân, Cách Khắc Phục Toàn Diện
- Cách Khắc Phục Lỗi WordPress Email Tiếng Việt Mất Dấu, Sai Font Chữ Hiệu Quả Nhất 2025













