Uyarı: mail () [function.mail]: "localhost" at MAILSERVER bağlantı kurulamadı

4 Cevap php

Ben inşa ediyorum bir web sitesinde bir şifremi unuttum tesisi kurmak için çalışıyorum ama sayfasını yüklemeye çalıştığınızda her zaman i Yukarıdaki hata ile karşılaşacaksınız. nasıl ben bu çözme hakkında nasıl gidiyor?

Burada ben bugüne kadar kodudur ...

<?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;

      }

    ?>

Herhangi bir yardım mutluluk duyacağız! teşekkürler!

4 Cevap

Sunucu bir SMTP postasunucusu çalışan yok gibi görünüyor. Farklı bir smtp sunucusunu ayarlamak için bu işlevleri kullanabilirsiniz:

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

Tabii ki aktif bir SMTP sunucusu bilmeniz gerekir.

İyi şanslar!

Sen php.ini dosya üzerinde bu değerlerini yapılandırmak zorunda

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

Siz görünüm config aynı ayrıntıları sağlayabilir. Bazı sunucular "sendmail_from" adresinizi kontrol ediyoruz.

Eğer web sitenizin çalışan sistemde bir SMTP sunucusu çalışan yok gibi görünüyor. Ne tür bir sunucu?

"Gerçek" hosts nadiren kendi sunucusu misconfig çünkü (Loki, EasyPHP veya başka kullanarak) yerel bir PHP kurulumu kullanıyor gibi görünüyor. Bu durumda ise, php.ini düzenleyebilir ve ISS ayarları örnek kullanın:

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