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 đề.
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 trên:
a. Chưa bật openssl
- Bạn hãy tìm extension=php_openssl.dll trong php.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
b. 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ủ.