Lỗi SMTP không thể kết nối đến SMTP host
1. Dấu hiệu lỗi “SMTP Error: Could not connect to SMTP host”
Bạn có thể nhìn thấy điều này SMTP connect() failed hoặc Called Mail() without being connected trong output debug. Nó là thông báo rằng PHPMailer gặp một ít vấn đề, bạn cấu hình dns thất bại, Tường lửa của webservers (ví dụ như nhà cung cấp GoDaddy) hoặc kết nối mạng có vấn đề.
Có nghĩa là PHPMailer không thể liên lạc với máy chủ SMTP bạn đã chỉ định trong cấu hình, nhưng nó cũng không nói rõ lý do chính xác.
SMTP ERROR: Failed to connect to server: Network is unreachable (101)SMTP connect() failed.
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
2. Nguyên nhân và cách khắc phục
Có 2 nguyên nhân chính gây ra Lỗi SMTP không thể kết nối đến SMTP host trên:
1. Chưa bật openssl
- Bạn hãy tìm
extension=php_openssl.dll
trongphp.ini
- Xóa dấu ; trước
extension=php_openssl.dll
- Nếu không tìm thấy như trên, bạn có thể thêm vào 1 dòng
extension=php_openssl.dll
Xác định vị trí file php.ini trên Linux command line
Thực hiện sử dụng lệnh sau :
# php -i | grep "Loaded Configuration File"
Loaded Configuration File => /etc/php.ini
Đường dẫn file ‘/etc/php.ini‘ chính là đường dẫn file php.ini mà PHP đang sử dụng.
2. Hệ thống Firewall của VPS đã block các cổng SMTP ra 25, 465 và 587
Bạn có thể tắt hệ thống Firewall để khắc phục.
– Đối với trong CWP(centos web panel) hệ thống Firewall chính là CSF Firewall Bạn có thể mở chặn các port ra bằng các chỉnh file /etc/csf/csf.conf
– Bạn có thể truy cập đường dẫn này: http://<ip_servers>:2030/index.php?module=file_editor&file=/etc/csf/csf.conf
Tìm các dòng đoạn sau:
# Allow outgoing TCP ports
TCP_OUT = “20,21,22,25,53,80,110,113,443,2030,2031,587,993,995”
# Allow outgoing IPv6 TCP ports
TCP6_OUT = “20,21,22,25,53,80,110,113,443,2030,2031,587,993,995”
Sau đó thêm vào các port 25, 465 và 587 còn thiếu
# Allow outgoing TCP ports
TCP_OUT = “20,21,22,25,53,80,110,113,443,2030,2031,587,993,995,465”
# Allow outgoing IPv6 TCP ports
TCP6_OUT = “20,21,22,25,53,80,110,113,443,2030,2031,587,993,995,465”
Sau đó reboot lại máy chủ.
Hy vọng bài viết này giúp các bạn khắc phục được Lỗi SMTP không thể kết nối đến SMTP host, SMTP Error: Could not connect to SMTP host,…
Nếu có băn khoăn thắc mắc hãy comment để cùng trao đổi ! Chúc các bạn thành công !
Comments (7)
Quá hay và đúng cái mình đang cần luôn -hồn NUKEVIET còn bản 3.0.x.xx thì SMTP xài ngon, qua bản mới 4.xx thì bị lỗi này, không biết làm sao đành dùng PHP mailer, do hosting của mình là Shared nên chỉ có thể sửa file php.ini – cám ơn bạn đã chia sẽ nhé.
Cảm ơn bn !
Hic, sửa mãi k được, vào đây đọc chia sẻ của bạn mình làm được luôn. Thanks ad
Cảm ơn bn !
Cảm ơn bác. Em dùng host tenten, phải liên hệ với support để mở cổng 465 giùm. Bác nên update bài viết cho ae dùng shared hosting biết liên hệ với hỗ trợ kỹ thuật bác ạ. Cảm ơn bác nhiều
Thật ra cũng ko phải ae nào cũng rành code, nên nếu ko tự làm được mình nghĩ nhờ support hosting hỗ trợ là tốt nhất. Cảm ơn b đã chia sẻ
bạn ơi , mình làm window thì mình mở file /etc/csf/csf.conf như thế nào bạn.