• 24-06-2010, 10:57:38
    #1
    merhaba arkadaşlar aşağıda yazmış olduğum kodlarla mail göndermeye çalışıyorum fakat mail gitmiyor. Sorun ne olabilir sizce ?
    <?php
    <?php
    if ( ! isset($_POST['Submit'] ) )
    {
    	echo '<form method="post" action=""><table width="449" height="275" border="0">
                    	
      <tr>
        <td colspan="2">İletişim Formu </td>
        </tr>
      <tr>
        <td width="137">Ad</td>
        <td width="302">
          <input name="name" type="text" size="30" />    </td>
      </tr>
      <tr>
        <td>Soyad</td>
        <td>
        <input name="surname" type="text" size="30" />    </td>
      </tr>
      <tr>
        <td>E - Posta </td>
        <td>
        <input name="email" type="text" size="30" />    </td>
      </tr>
        <tr>
        <td>Konu</td>
        <td>
        <input name="subject" type="text" size="30" />    </td>
      </tr>
      <tr>
        <td>Mesaj</td>
        <td><textarea name="message" cols="28" rows="4"></textarea></td>
      </tr>
      <tr>
        <td>
          <input type="submit" name="Submit" value="Gönder" />    </td>
        <td>&nbsp;</td>
      </tr>
    </table>';
    }
    else
    {
    	$error = false;
    	$errorMessage = array(); 	
    	if ( empty ($_POST['name']) )
    	{
    		$error = true;
    		$errorMessage[] = "Adınızı girmediniz";
    	}
    	if ( empty ($_POST['surname']) )
    	{
    		$error = true;
    		$errorMessage[] = "Soyadınızı girmediniz";
    	}
    	if ( ! filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
    	{
    		$error = true;
    		$errorMessage[] = "E posta adresiniz geçersiz";
    	}
    	if ( empty ($_POST['subject']) )
    	{
    		$error = true;
    		$errorMessage[] = "Konu yazmadınız";
    	}
    	if ( empty ($_POST['message']) )
    	{
    		$error = true;
    		$errorMessage[] = "Mesaj yazmadınız";
    	}
    
    	if ( $error )
    	{
    		echo "Posta Gönderilirken ".count($errorMessage)." adet hata meydana geldi! Meydana gelen hatalar<br />";
    		for ( $i=0; $i<count($errorMessage); $i++ )
    	{
    		echo $errorMessage[$i]."<br />";
    	}
    		echo "<a href=\"javascript:window.history.go(-1)\">Geri Dön</a>";
    	}
    	else
    	{
    		db_connect();
    		$ad = mysql_real_escape_string($_POST['name']);
    		$soyad = mysql_real_escape_string($_POST['surname']);
    		$konu = mysql_real_escape_string($_POST['subject']);
    		$mail = mysql_real_escape_string($_POST['email']);
    		$mesaj = mysql_real_escape_string($_POST['message']);
    		$strSQL = "INSERT INTO `iletisim` (`id`, `ad`, `soyad`, `konu`, `mail`, `mesaj`) VALUES (NULL, '{$ad}', '{$soyad}', '{$konu}', '{$mail}', '{$mesaj}');";
    		mysql_query($strSQL);
    		$alici_eposta = 'XXX';
    		$eposta_konusu = $_POST['subject'];
    		$eposta_mesaji = $_POST['message'];
    		$headers = "From: ".$_POST['email']. "\r\n";
    		@mail($alici_eposta, $eposta_konusu, $_POST['name']." ".$_POST['surname']."\n".$eposta_mesaji,$header);
    		echo 'Mailiniz tarafımıza ulaşmıştır. En kısa sürede yanıtlanacaktır.';
    	}
    }
    ?>
    Problemi bulacağım diye canım çıktı ama çözüme ulaşamadım.
  • 24-06-2010, 11:04:34
    #2
    mail() fonksiyonunun başındaki @ işaretini bi çekin hocam, hata mesajı veriyor mu bakalım...
  • 24-06-2010, 11:24:19
    #3
    Hayır hata vermiyor
  • 24-06-2010, 11:31:21
    #4
    değişken ismi $headers, mail fonksiyonunda $header kullanılmış
  • 24-06-2010, 11:31:49
    #5
    Üyeliği durduruldu
    Alıntı
    $degisken = mail();
    haline dönüstürün sonra
    Alıntı
    var_dump($degisken);
    yapin true mu yoksa false mu donderiyor?
  • 24-06-2010, 11:39:09
    #6
    Boolean False. Sunucudan kaynaklanan bir problem olabilir mi aaba ?
  • 24-06-2010, 11:44:36
    #7
    @Cycl0ne mail() fonksiyonunda olmayan bir değişkeni kullanmışsınız. false döndürmesi doğal değil mi? mail fonksiyonu içindeki $header değişkenini $headers olarak değiştirip deneyin.
  • 24-06-2010, 11:52:06
    #8
    değişen bir şey olmadı bool (false) yi almaya devam ediyorum
  • 24-06-2010, 11:59:29
    #9
    db_connect(); fonksiyonun olduğu sayfayı neden include etmediniz.