WordPress không gửi email? Cách kiểm tra và khắc phục
Email đặt lại mật khẩu, thông báo đơn hàng hoặc biểu mẫu liên hệ không đến hộp thư? Hướng dẫn này giúp bạn kiểm tra cấu hình, thử kết nối SMTP và xác định nguyên nhân.
- 10 phút đọc
- 3 lượt xem

CÔNG TY TNHH CÔNG NGHỆ INUX
Email đặt lại mật khẩu, thông báo đơn hàng hoặc biểu mẫu liên hệ không đến hộp thư? Hướng dẫn này giúp bạn kiểm tra cấu hình, thử kết nối SMTP và xác định nguyên nhân.

Tìm hiểu cách WordPress Multisite quản lý nhiều website trên cùng một hệ thống, các trường hợp nên sử dụng và hướng dẫn thiết lập mạng lưới cơ bản.
Khởi tạo tự động ngay sau khi thanh toán, chuyển khoản bằng mã QR, bật tắt và cài lại máy chủ trong trang quản lý.
Website không gửi email có thể khiến khách hàng bỏ lỡ thông báo quan trọng, không nhận được liên kết đặt lại mật khẩu hoặc không biết biểu mẫu liên hệ đã được gửi. Tình trạng WordPress không gửi email thường liên quan đến cách máy chủ xử lý thư, thông tin xác thực SMTP hoặc việc email bị bộ lọc chuyển vào thư mục rác.
Bài viết dưới đây hướng dẫn bạn kiểm tra theo từng bước: xác định email có được tạo hay không, rà soát cấu hình gửi thư, thử kết nối SMTP và khoanh vùng lỗi. Thực hiện lần lượt sẽ giúp bạn tìm nguyên nhân mà không phải thay đổi nhiều thiết lập cùng lúc.

WordPress thường sử dụng hàm wp_mail() để gửi email. Theo mặc định, hàm này chuyển thư cho cơ chế gửi thư của PHP trên máy chủ. Nếu máy chủ chưa được cấu hình phù hợp, bị giới hạn gửi thư hoặc không thể chuyển tiếp email, thư có thể không rời khỏi website. Vì vậy, website có thể báo đã gửi nhưng người nhận vẫn không thấy thư.
Một nguyên nhân phổ biến khác là website chưa dùng SMTP hoặc khai báo sai máy chủ, cổng, tên người dùng và mật khẩu. SMTP là phương thức gửi thư qua một máy chủ email có xác thực. Khi thông tin không khớp, kết nối bị chặn hoặc mã hóa TLS không đúng, quá trình gửi có thể thất bại.
Ngoài ra, email có thể đã được gửi nhưng bị hệ thống nhận từ chối, đánh dấu là thư rác hoặc chuyển sang một thư mục khác. Địa chỉ người gửi không hợp lệ, tên miền thiếu bản ghi xác thực email hoặc nội dung thư bất thường đều có thể ảnh hưởng đến khả năng nhận thư. Những vấn đề này cần được phân biệt với lỗi kết nối SMTP: hai trường hợp có cách xử lý khác nhau.
Hãy xác định phạm vi lỗi trước khi chỉnh sửa:

Trước hết, kiểm tra xem website đang gửi thư bằng cơ chế mặc định hay một plugin SMTP. Nếu đã cài plugin gửi thư, mở trang cài đặt và rà soát các trường sau:
Không đăng mật khẩu SMTP vào ảnh chụp màn hình, nội dung hỗ trợ công khai hoặc mã nguồn chia sẻ. Nếu nghi ngờ thông tin xác thực đã lộ, hãy đổi mật khẩu hoặc tạo lại thông tin truy cập theo hướng dẫn của dịch vụ email.
Tiếp theo, kiểm tra địa chỉ email nhận trong biểu mẫu hoặc plugin tạo thông báo. Đảm bảo không có lỗi chính tả, khoảng trắng thừa hoặc địa chỉ cũ. Với website thương mại điện tử, hãy xem từng loại thư có được bật hay không và địa chỉ nhận thông báo đơn hàng có đúng không. Một thiết lập SMTP chính xác không thể khắc phục việc plugin không tạo email hoặc gửi thư đến sai địa chỉ.
Nếu vừa cài plugin SMTP, tạm thời tránh để nhiều plugin cùng can thiệp vào chức năng gửi thư. Hai cấu hình chồng chéo có thể khiến kết quả khó dự đoán. Ghi lại cấu hình hiện tại trước khi thay đổi để có thể khôi phục nếu cần.

Sau khi rà soát cấu hình, hãy dùng chức năng gửi email thử nghiệm trong plugin SMTP nếu có. Gửi tới một địa chỉ bạn có quyền truy cập, sau đó kiểm tra cả hộp thư đến, thư rác và các tab phân loại thư. Lưu lại thông báo lỗi nguyên văn: nội dung như sai thông tin xác thực, không kết nối được máy chủ hoặc lỗi bắt tay TLS sẽ định hướng bước tiếp theo.
Nếu có quyền truy cập dòng lệnh trên máy chủ, bạn có thể kiểm tra việc bắt tay TLS. Thay smtp.example.com bằng máy chủ SMTP thực tế:
openssl s_client -starttls smtp -connect smtp.example.com:587 -crlfVới cổng 465, có thể kiểm tra kết nối TLS bằng:
openssl s_client -connect smtp.example.com:465 -crlfCác lệnh trên chỉ giúp kiểm tra khả năng kết nối và thương lượng mã hóa; chúng không xác nhận tên người dùng, mật khẩu hay việc gửi thư thành công. Nếu lệnh không kết nối được, nguyên nhân có thể là sai tên máy chủ, cổng bị chặn, lỗi DNS hoặc giới hạn mạng. Không đưa mật khẩu vào lệnh kiểm tra và không chia sẻ đầu ra chứa thông tin nhạy cảm.
Nếu không dùng được dòng lệnh, hãy hỏi đơn vị quản lý hosting hoặc email xem máy chủ có cho phép kết nối tới SMTP host và cổng bạn đã chọn hay không. Một số môi trường giới hạn kết nối đi để giảm nguy cơ gửi thư rác. Người quản trị máy chủ có thể kiểm tra tường lửa, DNS và nhật ký kết nối để xác nhận.
Sau khi kết nối được, gửi email thử nghiệm từ plugin. Nếu nhận được lỗi xác thực, kiểm tra lại tên đăng nhập, mật khẩu, yêu cầu xác thực và phương thức mã hóa. Nếu plugin báo thành công nhưng không thấy thư, xem thư mục rác và nhật ký gửi thư; đồng thời thử một hộp thư nhận khác. Trạng thái thành công thường cho biết hệ thống đã chuyển yêu cầu gửi đi, không đảm bảo email chắc chắn vào hộp thư đến.
Một cách xử lý hiệu quả là thay đổi từng yếu tố, sau mỗi lần thay đổi đều gửi email thử. Trước tiên, dùng chức năng kiểm tra của plugin SMTP. Sau đó thử gửi từ một chức năng khác của website, chẳng hạn email đặt lại mật khẩu, và so sánh kết quả. Nếu chỉ một plugin không gửi được, kiểm tra thiết lập người nhận, trạng thái thông báo và xung đột plugin của phần đó.
Bật ghi nhật ký gửi thư nếu plugin SMTP hỗ trợ. Nhật ký thường cho biết thời điểm gửi, trạng thái và thông báo trả về từ máy chủ. Không bật chế độ hiển thị lỗi cho khách truy cập. Nếu cần kiểm tra nhật ký PHP hoặc WordPress, hãy sao lưu trước, chỉ ghi lỗi vào nơi quản trị có quyền truy cập và tắt chế độ gỡ lỗi sau khi hoàn tất. Log có thể chứa địa chỉ email hoặc thông tin hệ thống, nên cần được bảo vệ và xóa khi không còn cần thiết.
Bạn cũng có thể thử tạm thời tắt các plugin có liên quan đến email, biểu mẫu hoặc bảo mật, rồi gửi lại thư. Thực hiện trên môi trường thử nghiệm nếu có; nếu không, chọn thời điểm ít truy cập, ghi lại danh sách plugin và bật lại từng cái sau mỗi phép thử. Không tắt hàng loạt plugin trên website đang vận hành nếu việc đó có thể làm gián đoạn chức năng quan trọng.
Các kết quả thường gặp giúp thu hẹp phạm vi như sau:
Khi đã xác định nguyên nhân, áp dụng thay đổi tương ứng thay vì cài thêm nhiều plugin. Nếu website đang dựa vào cơ chế gửi thư mặc định nhưng hosting không hỗ trợ hoặc cấu hình chưa phù hợp, hãy thiết lập một plugin SMTP đáng tin cậy theo thông số do đơn vị email cung cấp. Điền chính xác hostname, cổng, mã hóa và thông tin xác thực, rồi gửi email thử trước khi coi việc cấu hình đã hoàn tất.
Nếu thông tin tài khoản đúng nhưng kết nối không thành công, liên hệ bộ phận hỗ trợ hosting hoặc quản trị máy chủ. Cung cấp thời điểm thử, thông báo lỗi đã che thông tin riêng tư, hostname và cổng SMTP đang dùng. Hỏi rõ kết nối SMTP đi có bị giới hạn hay không và phương thức gửi thư nào được hỗ trợ. Không gửi mật khẩu qua kênh hỗ trợ không an toàn.
Nếu SMTP báo gửi thành công nhưng email thường xuyên vào thư rác hoặc bị từ chối, kiểm tra cấu hình xác thực tên miền với đơn vị quản lý dịch vụ email. SPF, DKIM và DMARC có thể giúp bên nhận đánh giá nguồn gửi, nhưng cần thiết lập theo đúng hướng dẫn của dịch vụ đang sử dụng. Không thêm bản ghi DNS theo mẫu chung khi chưa kiểm tra các bản ghi hiện có; cấu hình sai có thể ảnh hưởng đến các nguồn gửi khác của tên miền.
Cuối cùng, cập nhật plugin và WordPress từ nguồn đáng tin cậy, kiểm tra lại biểu mẫu hoặc quy trình phát sinh email, rồi gửi thử đến một vài địa chỉ bạn quản lý. Nếu thay đổi DNS, lưu ý rằng việc cập nhật có thể cần thời gian để được ghi nhận. Ghi lại cấu hình hoạt động để thuận tiện kiểm tra khi có sự cố sau này.
Trước khi kết thúc, hãy xác nhận các điểm sau:
Lỗi gửi mail WordPress có thể nằm ở cấu hình SMTP, kết nối từ máy chủ, plugin tạo email hoặc khả năng tiếp nhận thư ở phía người nhận. Hãy kiểm tra theo từng bước, ghi lại thông báo lỗi và chỉ thay đổi một yếu tố mỗi lần để khoanh vùng nhanh hơn. Nếu nguyên nhân liên quan đến môi trường lưu trữ, bạn có thể liên hệ đơn vị cung cấp dịch vụ để được kiểm tra cấu hình phù hợp. VibeVPS cung cấp các giải pháp Cloud Hosting; hãy tìm hiểu thêm nếu bạn đang cần lựa chọn môi trường vận hành website.
Lỗi Error Establishing a Database Connection khiến WordPress không thể tải website. Bài viết hướng dẫn kiểm tra thông tin kết nối, máy chủ database và xử lý các nguyên nhân thường gặp.
Tìm hiểu WordPress staging là gì, cách tạo website thử nghiệm WordPress và quy trình kiểm tra giao diện, plugin, bản cập nhật an toàn trước khi áp dụng lên website chính.