Maison >développement back-end >tutoriel php >Comment résoudre les délais d'attente SMTP Connect() ?

Comment résoudre les délais d'attente SMTP Connect() ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-21 17:44:02907parcourir

How to Resolve SMTP Connect() Timeouts?

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

  • Paramètres SMTP incorrects (par exemple, nom d'hôte, port, détails d'authentification )
  • Pare-feu ou configuration réseau bloquant la connexion
  • Problèmes de serveur temporaires côté serveur SMTP

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn