• 06-04-2017, 13:05:40
    #1
    Merhaba, kullandığım HTML5 Tema da İletişim formunu doldurduğumda herhangi bir mail göndermiyor ve hata veriyor.
    Temanın içerisinde sendemail.php dosyası mevcut fakat nereye ne yazacağımı bilemedim. Bu konu hakkında yardımınıza ihtiyacım var.
  • 08-04-2017, 09:26:49
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    kodları verirsen bakabilirim.
  • 08-04-2017, 11:00:04
    #3
    eswebmaster adlı üyeden alıntı: mesajı görüntüle
    kodları verirsen bakabilirim.
    Tema dosyasının içerisinde sendmail.php isimli dosyanın kodları bunlar

    <?php
       
    
        session_cache_limiter( 'nocache' );
        header( 'Expires: ' . gmdate( 'r', 0 ) );
        header( 'Content-type: application/json' );
    
    
        $to         = 'kaganharputlu@gmail.com';
    
        $email_template = 'simple.html';
    
        $subject    = strip_tags($_POST['subject']);
        $email       = strip_tags($_POST['email']);
        $phone      = strip_tags($_POST['phone']);
        $name       = strip_tags($_POST['name']);
        $message    = nl2br( htmlspecialchars($_POST['message'], ENT_QUOTES) );
        $result     = array();
    
    
        if(empty($name)){
    
            $result = array( 'response' => 'error', 'empty'=>'name', 'message'=>'<strong>Error!</strong>&nbsp; Name is empty.' );
            echo json_encode($result );
            die;
        } 
    
        if(empty($email)){
    
            $result = array( 'response' => 'error', 'empty'=>'email', 'message'=>'<strong>Error!</strong>&nbsp; Email is empty.' );
            echo json_encode($result );
            die;
        } 
    
        if(empty($message)){
    
             $result = array( 'response' => 'error', 'empty'=>'message', 'message'=>'<strong>Error!</strong>&nbsp; Message body is empty.' );
             echo json_encode($result );
             die;
        }
        
    
    
        $headers  = "From: " . $name . ' <' . $email . '>' . "\r\n";
        $headers .= "Reply-To: ". $email . "\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
    
    
        $templateTags =  array(
            '{{subject}}' => $subject,
            '{{email}}'=>$email,
            '{{message}}'=>$message,
            '{{name}}'=>$name,
            '{{phone}}'=>$phone
            );
    
    
        $templateContents = file_get_contents( dirname(__FILE__) . '/email-templates/'.$email_template);
    
        $contents =  strtr($templateContents, $templateTags);
    
        if ( mail( $to, $subject, $contents, $headers ) ) {
            $result = array( 'response' => 'success', 'message'=>'<strong>Thank You!</strong>&nbsp; Your email has been delivered.' );
        } else {
            $result = array( 'response' => 'error', 'message'=>'<strong>Error!</strong>&nbsp; Cann\'t Send Mail.'  );
        }
    
        echo json_encode( $result );
    
        die;
  • 08-04-2017, 11:10:07
    #4
    Hostunuzda phpmail aktif değilse iletişim formu o yüzden çalışmıyordur.
  • 08-04-2017, 11:44:11
    #5
    HOPE'a teşekkür ederim. Aynı sorun bende de mevcut sevgili arkadaşlar,

    Gerçekten 2 gündür uğraş gösteriyorum çözemiyorum.

    Host Firmasının Verdiği Örnek

    <html>
    <head>
    	<meta http-equiv="Content-Language" content="tr">
    	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-9">
    	<title>Örnek iletişim formu</title>
    </head>
    <body>
    <fieldset style="width:400px;">
    	<h3><a href="iletisim.php">İletişim Formu</a></h3>
    	<form method="post" action="iletisim.php?islem">
    	<p><input type="text" name="isim" size="20" /> <label for="isim"> <b>Adınız</b> </label></p>
    
    	<p><input type="text" name="eposta" size="20" /> <label for="eposta"> <b>Eposta Adresiniz</b> </label></p>
    
    	<p><input type="text" name="konu" size="20" /> <label for="konu"> <b>Konu</b> </label></p>
    	<p><textarea rows="6" name="mesaj" cols="30"></textarea> <label for="mesaj"> <b>Mesajınız</b> </label></p>
    
    	<p><input type="reset" value="Sıfırla" /> <input type="submit" value="Gönder" /></p> 
    <?php
    
    if (isset($_GET['islem'])) {
    	
    	if ($_POST['eposta']<>'' && $_POST['isim']<>'' && $_POST['konu']<>'' && $_POST['mesaj']<>'') {
    
    	require_once("class.phpmailer.php");
    
    	$mail = new PHPMailer();
    	$mail->IsSMTP();
    	$mail->Host = "mail.alanadi.com ya da mail cikis ip si";
    	$mail->SMTPAuth = true;
    	$mail->Username = "E-posta Adresinizi Yazınız";
    	$mail->Password = "E-posta Şifrenizi Yazınız";
    	$mail->From = "E-posta Adresinizi Yazınız";
    	$mail->Fromname = $_POST['isim'];
    	$mail->AddAddress("E-posta Adresinizi Yazınız","Mail gönderimi");
    	$mail->Subject = $_POST['konu'] . $_POST['eposta'];
    	$mail->Body = $_POST['mesaj'];
    
    	if(!$mail->Send())
    	{
    	   echo '<font color="#F62217"><b>Gönderim Hatası: ' . $mail->ErrorInfo . '</b></font>';
    	   exit;
    	}
    	echo '<font color="#41A317"><b>Mesaj başarıyla gönderildi.</b></font>';
    	} else {
    		 echo '<font color="#F62217"><b>Tüm alanların doldurulması zorunludur.</b></font>';
    	}
    }
    ?>
    	</form>
    </fieldset>
    </body>
    </html>



    Benim Tasarımımda kullandığım contact.php içeriğin ham hali

    <?php
    
    $subject = $_REQUEST['subject'] . ' Volions';//Subject of your email
    $to = 'info@volions.com'; //Recipient's or Your E-mail
    
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= "From: " . $_REQUEST['email'] . "\r\n"; // Sender's E-mail
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    
    $message .= 'Name: ' . $_REQUEST['name'] . "<br>";
    $message .= 'Email: ' . $_REQUEST['email'] . "<br>";
    $message .= 'Subject: ' . $_REQUEST['subject'] . "<br><br>";
    $message .= $_REQUEST['message'];
    
    
    if (@mail($to, $subject, $message, $headers)) {
        // Transfer the value 'sent' to ajax function for showing success message.
        echo 'sent';
    } else {
        // Transfer the value 'failed' to ajax function for showing error message.
        echo 'failed';
    }
    ?>


    Yardımcı olursanız çok seviniriz. İyi çalışmalar.
  • 08-04-2017, 12:02:54
    #6
    Kodlarda sorun yok mail() fonksiyonu sunucu tarafından engellidir. SMTP mail sınıfıyla durum çözebilir