Lỗi SMTP không thể kết nối đến SMTP host

Lỗi SMTP không thể kết nối đến SMTP host

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

>> Tham khảo:  

 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 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

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

Hệ thống Firewall của VPS đã block các cổng SMTP ra 25, 465 và 587
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, 465587 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 !

5/5 - (23 bình chọn)

Share this post

Comments (7)

  • Hoa sen vàng Reply

    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é.

    12/05/2020 at 14:44
  • Elecom Reply

    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

    16/04/2021 at 14:13
  • Shop rượu Vang Reply

    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

    14/06/2021 at 15:29
    • admin Reply

      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ẻ

      14/06/2021 at 17:33
  • tad Reply

    bạn ơi , mình làm window thì mình mở file /etc/csf/csf.conf như thế nào bạn.

    19/12/2021 at 13:28

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *