0 votes

Warning : mail() [function.mail] : Impossible de se connecter au serveur de messagerie sur le port 25 de "localhost". Vérifiez les paramètres "SMTP" et "smtp_port" dans l

J'ai essayé de mettre en place une fonction de mot de passe oublié sur un site Web que je suis en train de construire, mais chaque fois que j'essaie de charger la page, je suis accueilli par l'erreur ci-dessus. Comment puis-je résoudre ce problème ?

Voici le code que j'ai jusqu'à présent...

<?php

            if (array_key_exists('forgot',$_POST)) {

      $email = $_POST['email']; 

      mysql_select_db($database_speedycms, $speedycms);
      $query_email = "SELECT * FROM tbl_users WHERE email='$email'";
      $email = mysql_query($query_email, $speedycms) or die(mysql_error());
      $row_email = mysql_fetch_assoc($email);
      $totalRows_user = mysql_num_rows($email);

      mysql_query("SELECT * FROM users WHERE email='$email'");

      if($totalRows_user == 0)

      {
      echo "<span class='form2'>We're sorry, but we could not find a user with that email address.<p>Please try again.<p>
      <a href='forgotpassword.php' class='form'>Return</a></span>";
      }

      else

      {

        // create a random password 
      function createRandomPassword() { 
      $chars = "abcdefghijkmnopqrstuvwxyz023456789"; 
         srand((double)microtime()*1000000); 
         $i = 0; 
         $pass = '' ; 
      while ($i <= 7) { 
            $num = rand() % 33; 
            $tmp = substr($chars, $num, 1); 
            $pass = $pass . $tmp; 
            $i++; 
          } 
         return $pass; 
      }
      $password = createRandomPassword(); 

      // generate email

      $username = $row_email['username'];
      $msg  = "Your new login information is:\n\n";
      $msg .= "Username: $username\n";
      $msg .= "Password: $password\n";

      mail("$email", "Speedy CMS Login Information", "$msg", "From:noreply@domain.com");

      // display message  

      echo "<span class='form2'>Thanks. Your new password has been sent to <i>".$row_email['email']."</i>.<p>
      <a href='index.php' class='form'>Return</a></span>";

      }

      exit;

      }

    ?>

toute aide serait appréciée ! merci !

4voto

Bas Points 150

Il semble que votre serveur n'ait pas de serveur de messagerie smtp. Vous pouvez utiliser ces fonctions pour définir un autre serveur smtp :

ini_set('SMTP', "server.com");
ini_set('smtp_port', "25");
ini_set('sendmail_from', "email@domain.com");

Bien sûr, vous devez connaître un serveur smtp actif.

Bonne chance !

2voto

sugunan Points 1703

Vous devez configurer ces valeurs sur php.ini fichier

SMTP = smtp.yourdomain.com  
smtp_port = 25 
username = info@yourdomain.com
password = yourmailpassord
sendmail_from = info@yourdomain.com

Vous pouvez fournir les mêmes détails que dans la configuration d'Outlook. Certains serveurs vérifient également l'adresse "sendmail_from".

0voto

Rene Terstegen Points 3254

Il semble que vous n'ayez pas de serveur SMTP en cours d'exécution sur le système où se trouve votre site Web. De quel type de serveur s'agit-il ?

0voto

AlexV Points 8604

Il semble que vous utilisiez une installation PHP locale (en utilisant WAMPSERVER, EasyPHP ou autre) car les "vrais" hôtes configurent rarement mal leur serveur. Si c'est le cas, éditez le php.ini et utilisez les paramètres de votre FAI par exemple :

[mail function]
SMTP = mail.yourdomain.com
smtp_port = 25

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X