• 23-03-2021, 22:27:45
    #1
    Merhabalar,
    İletişim Forumu Yapmak İstiyorum İnternetten bir sürü iletişim formu iskeletleri buldum fakat hiçbirini çalıştıramadım genelinde bu hatayı alıyorum bu hatayı nasıl düzeltebilirim php bilgim çok az
    Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:UsersW1Desktopxamphtdocscsmail.php on line 14
    Error!

    Form index.php

    <form action="mail.php" method="POST">
    <p>Name</p> <input type="text" name="name">
    <p>Email</p> <input type="text" name="email">
    <p>Phone</p> <input type="text" name="phone">
    
    <p>Request Phone Call:</p>
    Yes:<input type="checkbox" value="Yes" name="call"><br />
    No:<input type="checkbox" value="No" name="call"><br />
    
    <p>Website</p> <input type="text" name="website">
    
    <p>Priority</p>
    <select name="priority" size="1">
    <option value="Low">Low</option>
    <option value="Normal">Normal</option>
    <option value="High">High</option>
    <option value="Emergency">Emergency</option>
    </select>
    <br />
    
    <p>Type</p>
    <select name="type" size="1">
    <option value="update">Website Update</option>
    <option value="change">Information Change</option>
    <option value="addition">Information Addition</option>
    <option value="new">New Products</option>
    </select>
    <br />
    
    <p>Message</p><textarea name="message" rows="6" cols="25"></textarea><br />
    <input type="submit" value="Send"><input type="reset" value="Clear">
    </form>
    Mail.php İçeriği
    <?php
    $name = $_POST['name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $call = $_POST['call'];
    $website = $_POST['website'];
    $priority = $_POST['priority'];
    $type = $_POST['type'];
    $message = $_POST['message'];
    $formcontent=" From: $name \n Phone: $phone \n Call Back: $call \n Website: $website \n Priority: $priority \n Type: $type \n Message: $message";
    $recipient = "admin@xxx.net";
    $subject = "Contact Form";
    $mailheader = "From: $email \r\n";
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
    echo "Thank You!";
    ?>

    Yardım edebilirmisiniz bi türlü çözemedim
  • Kabul Edilen Cevap
    • KarayelHosting adlı üyeden alıntı: mesajı görüntüle
      Merhabalar,
      İletişim Forumu Yapmak İstiyorum İnternetten bir sürü iletişim formu iskeletleri buldum fakat hiçbirini çalıştıramadım genelinde bu hatayı alıyorum bu hatayı nasıl düzeltebilirim php bilgim çok az
      Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:UsersW1Desktopxamphtdocscsmail.php on line 14
      Error!

      Form index.php

      <form action="mail.php" method="POST">
      <p>Name</p> <input type="text" name="name">
      <p>Email</p> <input type="text" name="email">
      <p>Phone</p> <input type="text" name="phone">
      
      <p>Request Phone Call:</p>
      Yes:<input type="checkbox" value="Yes" name="call"><br />
      No:<input type="checkbox" value="No" name="call"><br />
      
      <p>Website</p> <input type="text" name="website">
      
      <p>Priority</p>
      <select name="priority" size="1">
      <option value="Low">Low</option>
      <option value="Normal">Normal</option>
      <option value="High">High</option>
      <option value="Emergency">Emergency</option>
      </select>
      <br />
      
      <p>Type</p>
      <select name="type" size="1">
      <option value="update">Website Update</option>
      <option value="change">Information Change</option>
      <option value="addition">Information Addition</option>
      <option value="new">New Products</option>
      </select>
      <br />
      
      <p>Message</p><textarea name="message" rows="6" cols="25"></textarea><br />
      <input type="submit" value="Send"><input type="reset" value="Clear">
      </form>
      Mail.php İçeriği
      <?php
      $name = $_POST['name'];
      $email = $_POST['email'];
      $phone = $_POST['phone'];
      $call = $_POST['call'];
      $website = $_POST['website'];
      $priority = $_POST['priority'];
      $type = $_POST['type'];
      $message = $_POST['message'];
      $formcontent=" From: $name \n Phone: $phone \n Call Back: $call \n Website: $website \n Priority: $priority \n Type: $type \n Message: $message";
      $recipient = "admin@xxx.net";
      $subject = "Contact Form";
      $mailheader = "From: $email \r\n";
      mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
      echo "Thank You!";
      ?>
      Yardım edebilirmisiniz bi türlü çözemedim

      Hocam SMTP ayarlarını düzgün girmediğin için oluyor. Bir hosting'in varsa, onun SMTP'sini genelde "mail.domain(.)com" gibi olur, onu girmeli ve orada açılmış olan mail adresini ve şifresini girmelisin.

      Onun dışında iskeleti bilmem ama gönül rahatlığıyla PHPMailer kullanmanı öneririm. https://github.com/PHPMailer/PHPMailer

      Senin adına SSL, TSL, SMTP, IMAP POP3 gibi tüm işlemleri hallediyor. Biraz araştırarak çok rahat çalıştırabilirsin. Debug modu da var. Açarsan hataları ekrana basar. Böylelikle nerede yanlış yaptığını görürsün.
  • 23-03-2021, 22:37:00
    #2
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    KarayelHosting adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,
    İletişim Forumu Yapmak İstiyorum İnternetten bir sürü iletişim formu iskeletleri buldum fakat hiçbirini çalıştıramadım genelinde bu hatayı alıyorum bu hatayı nasıl düzeltebilirim php bilgim çok az
    Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:UsersW1Desktopxamphtdocscsmail.php on line 14
    Error!

    Form index.php

    <form action="mail.php" method="POST">
    <p>Name</p> <input type="text" name="name">
    <p>Email</p> <input type="text" name="email">
    <p>Phone</p> <input type="text" name="phone">
    
    <p>Request Phone Call:</p>
    Yes:<input type="checkbox" value="Yes" name="call"><br />
    No:<input type="checkbox" value="No" name="call"><br />
    
    <p>Website</p> <input type="text" name="website">
    
    <p>Priority</p>
    <select name="priority" size="1">
    <option value="Low">Low</option>
    <option value="Normal">Normal</option>
    <option value="High">High</option>
    <option value="Emergency">Emergency</option>
    </select>
    <br />
    
    <p>Type</p>
    <select name="type" size="1">
    <option value="update">Website Update</option>
    <option value="change">Information Change</option>
    <option value="addition">Information Addition</option>
    <option value="new">New Products</option>
    </select>
    <br />
    
    <p>Message</p><textarea name="message" rows="6" cols="25"></textarea><br />
    <input type="submit" value="Send"><input type="reset" value="Clear">
    </form>
    Mail.php İçeriği
    <?php
    $name = $_POST['name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $call = $_POST['call'];
    $website = $_POST['website'];
    $priority = $_POST['priority'];
    $type = $_POST['type'];
    $message = $_POST['message'];
    $formcontent=" From: $name \n Phone: $phone \n Call Back: $call \n Website: $website \n Priority: $priority \n Type: $type \n Message: $message";
    $recipient = "admin@xxx.net";
    $subject = "Contact Form";
    $mailheader = "From: $email \r\n";
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
    echo "Thank You!";
    ?>
    Yardım edebilirmisiniz bi türlü çözemedim

    Hocam SMTP ayarlarını düzgün girmediğin için oluyor. Bir hosting'in varsa, onun SMTP'sini genelde "mail.domain(.)com" gibi olur, onu girmeli ve orada açılmış olan mail adresini ve şifresini girmelisin.

    Onun dışında iskeleti bilmem ama gönül rahatlığıyla PHPMailer kullanmanı öneririm. https://github.com/PHPMailer/PHPMailer

    Senin adına SSL, TSL, SMTP, IMAP POP3 gibi tüm işlemleri hallediyor. Biraz araştırarak çok rahat çalıştırabilirsin. Debug modu da var. Açarsan hataları ekrana basar. Böylelikle nerede yanlış yaptığını görürsün.
  • 23-03-2021, 22:57:28
    #3
    Hocam smtp ayarlarını doğru da yapsanız eğer hosting sağlayıcınız mail(); fonksiyonuna izin vermiyorsa harici kütüphane kullanmalısınız.
    Örneğin; phpmailer
  • 23-03-2021, 23:34:58
    #4
    Hazır Script Bulup Classlarını Temizledim Fakat Bu Seferde Recaptcha istiyor php bilen arkadaşlar yardımcı olabilrimi recaptchayı kaldırmak istiyorum
    <?php
    
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
    
    require 'config/connect.php';
    
    
    require "vendor/autoload.php";
     
    $secret  = $secret_key;
    $sitekey = $site_key;
    $captcha = new \Anhskohbo\NoCaptcha\NoCaptcha($secret, $sitekey);
    
    require 'PHPMailer/Exception.php';
    require 'PHPMailer/PHPMailer.php';
    require 'PHPMailer/SMTP.php';
    
    $send_msg = "";
    
    if(isset($_POST['send'])) {
        if($captcha->verifyResponse($_POST['g-recaptcha-response'])) {
            $email = $_POST['email'];
            $name = $_POST['name'];
            $subject = $_POST['subject'];
            $type = $_POST['type'];
            $body = $_POST['message'];
            
            if(isset($_FILES['file']['name']) && $_FILES['file']['name'] != "") {
                $file = 'attach/' . basename($_FILES['file']['name']);
                move_uploaded_file($_FILES['file']['tmp_name'], $file);
            } else {
                $file = "";
            }
    
    
            $mail = new PHPMailer();
            $mail->isSMTP();
            $mail->Host = $smtp_host;
            $mail->SMTPAuth = true;
            $mail->Username = $smtp_user;
            $mail->Password = $smtp_pass;
            $mail->SMTPSecure = 'tls';
            $mail->Port = $smtp_port;
    
            //sender from
    
            $mail->setFrom($email, $name);
            $mail->addAddress($myemail);
            $mail->addReplyTo($email, 'Information');
    
            if(isset($_POST['copy'])) {
                $mail->addCC($email);
            }
            $mail->addAttachment($file);
    
            $mail->isHTML(true);
            $mail->Subject = $subject;
            $mail->Body    = $body;
    
            if($mail->send()) {
                $send_msg = '<div align="center" class="alert alert-success">Message has been sent</div>';
                } 
                else {
                $send_msg = '<div align="center" class="alert alert-danger">Message could not be sent. Mailer Error: ' . $mail->ErrorInfo . '</div>';
            }
            if(isset($_FILES['file']['name']) && $_FILES['file']['name'] != "") {
                unlink($file);
            }
        } else {
            $send_msg = "Please verify you not a Robot";
        }
    
    }
    
    
    
    
    
    
    
    
    ?>