” Smtp hiba: nem sikerült csatlakozni a kiszolgálóhoz ” – okok és javítások
manapság az e-mailek küldésének lehetősége minden webes alkalmazás alapvető követelménye.
olyan népszerű alkalmazások, mint a WordPress, a Drupal stb. tartalmazzon egy “PHPMailer” nevű levelezőprogramot az e-mailek küldéséhez.
a PHPMailer beállításának lépései sok webhelytulajdonos számára nem feltétlenül intuitívak, és a konfigurációs hibák gyakran “Smtp hiba: nem sikerült csatlakozni a kiszolgálóhoz” hibát okoznak.
Támogatási szolgáltatásaink részeként segítünk a webhelytulajdonosoknak technikai problémáik megoldásában. A Phpmailerrel kapcsolatos levelezési probléma olyan hiba, amelyet gyakran látunk .
ebben a cikkben az “Smtp hiba: nem sikerült csatlakozni” fő okait és a javításuk módját fogjuk látni.
mi az “Smtp hiba: nem sikerült csatlakozni a szerverhez” ?
a spamküldők gyakran használnak php szkripteket, amelyek közvetlenül kapcsolódnak a távoli szerverekhez és spam leveleket küldenek.
ennek védelme érdekében sok webtárhely-szolgáltató blokkolja a közvetlen kapcsolatot a webhelyekről a külső levelezőszerverekre.
ilyen szervereken a webhelyről érkező leveleket csak a saját levelezőszerver (SMTP szerver) portján keresztül lehet elküldeni, csakúgy, mint az Outlook vagy a Windows Mail működését.
PHPMailer egy mail alkalmazás, amely úgy működik, mint egy mail kliens, és segít, hogy küldjön e-mailt SMTP szerveren keresztül.
de a PHPMailer nem működik a dobozból. Meghibásodhat a szerver tűzfal-korlátozásai, a rossz levelezőszerver neve, port stb.
“Smtp hiba: nem sikerült csatlakozni a kiszolgálóhoz”
és a levelezőszerver válaszától függően a hiba 2 változatát láttuk :
SMTP ERROR: Failed to connect to server: Connection refused (111)
vagy
SMTP ERROR: Failed to connect to server: Connection timed out (110)
mi okozza az SMTP hibát: nem sikerült csatlakozni a kiszolgálóhoz ?
itt beszéljük meg az “SMTP hiba: nem sikerült csatlakozni a szerverhez”fő okait.
SMTP-korlátozások a kiszolgálón.
a kiszolgálók korlátozzák azokat a programokat, amelyek közvetlenül kapcsolódhatnak a távoli kiszolgálókhoz és leveleket küldhetnek. Általában csak levelezőszerver, root felhasználó stb. SMTP-kapcsolatok engedélyezése.
például a CPanel-kiszolgálók blokkolják a külső SMTP-kiszolgálókhoz való hozzáférést az “SMTP-korlátozások” opcióval.
ezzel a korlátozással a kapcsolat a PHPMailer-től egy külső levelezőszerverhez nem működik. A kapcsolat várjon egy ideig, majd végül meghal a következő hibával:
2018-10-12 04:12:37 SMTP ERROR: Failed to connect to server: Connection timed out (110)SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/TroubleshootingOops! Something went wrong and we couldn't send your message.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Tűzfalkorlátozások a kiszolgálón
a levelezőszerverek bizonyos tűzfalszabályok alapján elfogadják vagy elutasítják a kapcsolatokat.
minden levelezőszerver engedélyezi a kapcsolatot Az alapértelmezett 25-ös levelezési portról. Bu, t más postai portok, például 465, 587 stb. nem lesz nyitva sok szerveren.
a levelezési portra vonatkozó korlátozásokkal rendelkező kiszolgálón, amikor egy webhelytulajdonos egy külső smtp-kiszolgálóval próbál levelet küldeni a 465-ös porton, az hiba:
2018-08-28 10:33:12 Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): unable to connect to ssl://mail.xyz.com:465 (Connection refused)2018-08-28 10:33:12 SMTP ERROR: Failed to connect to server: Connection refused (111)
itt ez a” kapcsolat megtagadva ” hiba azt jelenti, hogy a levelezőszerver küldése megtagadja a kimenő kapcsolatokat a 465-ös porton, és nem tud csatlakozni a távoli levelezőszerverhez.
helytelen beállítások a Phpmailerben
ez az SMTP-hiba akkor is előfordulhat, ha a levelezőszerver neve helytelenül van beállítva (további szóközökkel) a PHPMailer konfigurációjában. Ezután a webes űrlap megpróbál csatlakozni egy érvénytelen névhez, de nem sikerül.
DNS hibák
a PHPMailer megfelelő működéséhez a konfigurációjában megadott levelezőszervernek megfelelő dns-rekordokkal kell rendelkeznie. Ha a dns nem működik a kiszolgálón, a kiszolgálóról történő keresés rossz IP-címet mutat, vagy nincs IP-cím a levelezőszerver számára. Ismét ez okozza a mail sikertelen SMTP hiba.
az SMTP-hiba javítása: nem sikerült csatlakozni a kiszolgálóhoz
ha a levelek a Phpmailerrel működnek, mind a küldő, mind a fogadó kiszolgálónak el kell fogadnia a kapcsolatokat.
támogató mérnökeink elsősorban a levelezőszerverek közötti kapcsolatot ellenőrzik, és megállapítják, hogy bejövő vagy kimenő blokkról van-e szó.
ezután a levelezési hiba kijavításához a következő módosításokat hajtjuk végre a kiszolgálón :
- módosítsa a kiszolgáló tűzfalszabályait, hogy engedélyezze a kimenő kapcsolatokat olyan portokon, mint a 465.
- módosítsa a kiszolgáló SMTP-korlátozásait. Ezután adjon hozzá egy adott webhelyfelhasználót azon felhasználók listájához, akik kimenő SMTP-kapcsolatokat hozhatnak létre.
- Szerkessze a PHPMailer beállításait, például a gazdagépet, a portot stb.
- helyes DNS-felbontás a levelezőszerver számára.
következtetés
“SMTP hiba: nem sikerült csatlakozni a szerverhez” elsősorban a levelezőszerver csatlakozási problémái, a rossz portbeállítások stb. Itt megvitattuk azokat az okokat, amelyeket támogató mérnökeink gyakran látnak a szerverekben, és hogyan javítjuk őket.
Leave a Reply