Maison >développement back-end >tutoriel php >Comment résoudre les délais d'attente SMTP Connect() ?
Échec de SMTP Connect() : dépannage des délais d'attente de connexion
Lorsque vous essayez d'envoyer des e-mails via SMTP, vous pouvez rencontrer l'erreur : "SMTP - > ERREUR : Échec de la connexion au serveur : La connexion a expiré (110)... Le message n'a pas été envoyé. Erreur de messagerie : Échec de la connexion SMTP (). Ce problème indique souvent un problème lors de l'établissement d'une connexion au serveur SMTP.
Causes potentielles :
Solution :
Vérifiez les paramètres SMTP spécifiés dans votre code (par exemple, hôte, port, nom d'utilisateur et mot de passe) pour vous assurer qu'ils correspondent aux exigences du serveur SMTP que vous utilisez.
De plus, commentez ou supprimez la ligne $ mail->IsSMTP(); car cela n'est pas nécessaire lors de l'utilisation de la configuration SMTP.
<code class="php">require 'class.phpmailer.php'; require 'class.smtp.php'; $mail = new PHPMailer(); $mail->SMTPDebug = 2; // Enable debugging $mail->Mailer = "smtp"; $mail->Host = "ssl://smtp.gmail.com"; $mail->Port = 587; $mail->SMTPAuth = true; $mail->Username = "[email protected]"; $mail->Password = "mypasswword"; $mail->Priority = 1; $mail->AddAddress("[email protected]", "Name"); $mail->SetFrom($visitor_email, $name); $mail->AddReplyTo($visitor_email, $name); $mail->Subject = "Message from Contact form"; $mail->Body = $user_message; $mail->WordWrap = 50; if (!$mail->Send()) { echo 'Message was not sent.'; echo 'Mailer error: ' . $mail->ErrorInfo; } else { echo 'Message has been sent.'; }</code>
Si le problème persiste, vérifiez votre pare-feu ou vos paramètres réseau pour vous assurer que le port SMTP (généralement 587 ou 465) n'est pas bloqué. Vous pouvez également essayer d'utiliser un autre serveur SMTP pour exclure les problèmes côté serveur.
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!