Que dois-je faire si l'e-mail phpcms ne parvient pas à être envoyé ?
La raison pour laquelle l'e-mail phpcms ne parvient pas à être envoyé :
1 : Le mieux est d'utiliser l'e-mail d'entreprise, (je ne sais pas pourquoi échoue lors de l'utilisation du test ordinaire)
2 : Si le test local réussit mais que le test sur le serveur échoue, il se peut que la fonction fsockopen soit désactivée dans la configuration du serveur
Utilisez phpinfo pour vérifiez si l'élément Disable_functions a fsockopen. Si c'est le cas, cela signifie que c'est le problème.
Solution :
Ouvrir : phpcmsmodulesmemberclassesclient.class.php,
Mettre la ligne 78 : if(!$fp = fsockopen($mail [' server'], $mail['port'], $errno, $errstr, 30)) {
Remplacer par : if(!$fp = pfsockopen($mail['server'], $ mail[ 'port'], $errno, $errstr, 30)) {
Autrement dit, remplacez fsockopen par pfsockopen.
PS : Certains hébergeurs désactivent la fonction fsockopen pour empêcher les pirates d'utiliser fsockopen pour mener des attaques PHPDDOS après avoir exploité l'injection de vulnérabilité du programme.
La différence entre la fonction fsockopen et la fonction pfsockopen est que pfsockopen reste keep-alive, ce qui rend impossible aux pirates informatiques de mener des attaques par numéro de connexion.
Site Web PHP chinois, un grand nombre de Tutoriels PHPCMS gratuits, bienvenue pour apprendre en ligne !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!