PHP Web tasarımcı arkadaşlar yardımcı olabilir mi?

Kodla Büyü

talp

Seçkin Üye
Seçkin Üye
Mesajlar
783
:?: Arkadaşlar PHP STMP Ekli Mail Scripti yazdım lakin kodlardan birisinde hata var herhalde bir türlü mail gönderimi sağlanamıyor hata olarak ise "Boş alan bırakmayınız" çıkıyor. Kontrol edebilir misiniz?

index.php kodu
Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Resim Gönderme</title>
</head>

<body>
<form action="" method="POST" enctype="multipart/form-data">
İsim ve Soyisim: <input type="text" name="ad"><br>
E-Mail: <input type="text" name="mailadres"><br>
Telefon: <input type="text" name="telefon"><br>
Mesaj: <textarea name="mesaj" id="" cols="30" rows="10"></textarea><br>
Örnek Resim: <input type="file" name="resim" id=""><br>
<button type="submit">Gönder</button>
</form>

<?php
if($_POST){
 $ad=$_POST['ad'];
 $email=$_POST['mailadres'];
 $phone=$_POST['telefon'];
 $message=$_POST['mesaj'];

if(!$ad || !$mailadres || !$telefon || !$mesaj || !$_FILES['resim']['name']){
 echo "Boş alan bırakmayınız."; 
  }
 else
 {
 $klasor="uploads";
 $sayi=time().rand(); 
 $uzanti=explode(".",$_FILES['resim']['name']); 
 $uzanti=end($uzanti);
 $adi=$sayi.'.'.$uzanti;
 move_uploaded_file($_FILES['resim']['tmp_name'],$klasor.'/'.$adi);
 
 include('PHPMailerAutoload.php');
 include('bilgiler.php');
 
 $mail = new PHPMailer();
 $mail->CharSet="UTF-8";
 
 $body="Ad Soyad:{$ad}<br> E-Posta:{$mailadres}<br> Telefon:{$phone}<br>Mesaj:{$mesaj}";
 
 $mail->IsSMTP();
 $mail->SMTPAuth = true;
 $mail->HOST     = $host;
 $mail->Username = $username;
 $mail->Password = $password;
 $maiil->Port= 587; 
 $mail->SetFrom('');
 $mail->Subject  = "Gelen Görsel";
 $mail->AddAddress('$username','');
 $mail->AddAttachment($klasor.'/'.$adi,"gorsel".$uzanti);
 $mail->MsgHTML ($body);
 
 if($mail->Send()){
  echo "Mailiniz gönderilmiştir. En kısa sürede sizinle iletişime geçilecektir.";
  
  }
 
 else {
  echo "Mailiniz gönderilemedi.Hata".$mail->ErrorInfo();
  
  }
  
  unlink($klasor.'/'.$adi);
  
  }
  }


?>
</body>
</html>

bilgiler.php kodu
Kod:
<?php
//Mail hizmeti aldığınız sunucunun adresi (mail.devranbudak.com, smtp.gmail.com,smtp.outlook.com vb. ...)
$host="";
//Sunucudaki mail adresiniz (devran.budak@gmail.com vb.)
$username="satis@";
//Mail adresinizin şifresi
$password="***********";
?>
 

Ekli dosyalar

  • Ekran Alıntısı.PNG
    Ekran Alıntısı.PNG
    18.2 KB · Görüntüleme: 714
  • resimgonderme.rar
    43.9 KB · Görüntüleme: 21
if(!$ad || !$mailadres || !$telefon || !$mesaj || !$_FILES['resim']['name']){

burada $mailadres değil
$email
$telefon yerine
$phone
$mesaj yerine de $message yazmalısın diğer filename kontrolünü ve değişkenini de kontrol et
 
Hocam söylediğiniz ayarları yaptım lakin şu anda
Kod:
Fatal error: Call to undefined method PHPMailer::ErrorInfo() in /public_html/resimgonderme/index.php on line 63
hatası alıyorum. Anlamadım bir türlü son değişiklikler mucibince index.php kodunu paylaşıyorum. Hata 63 else {
echo "Mailiniz gönderilemedi.Hata".$mail->ErrorInfo();

}
bu kodu gösteriyor.

Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Resim Gönderme</title>
</head>

<body>
<form action="" method="POST" enctype="multipart/form-data">
İsim ve Soyisim: <input type="text" name="ad"><br>
E-Mail: <input type="text" name="email"><br>
Telefon: <input type="text" name="phone"><br>
Mesaj: <textarea name="message" id="" cols="30" rows="10"></textarea><br>
Örnek Resim: <input type="file" name="resim" id=""><br>
<button type="submit">Gönder</button>
</form>

<?php
if($_POST){
 $ad=$_POST['ad'];
 $email=$_POST['email'];
 $phone=$_POST['phone'];
 $message=$_POST['message'];

if(!$ad || !$email || !$phone || !$message || !$_FILES['resim']['name']){
 echo "Boş alan bırakmayınız."; 
  }
 else
 {
 $klasor="uploads";
 $sayi=time().rand(); 
 $uzanti=explode(".",$_FILES['resim']['name']); 
 $uzanti=end($uzanti);
 $adi=$sayi.'.'.$uzanti;
 move_uploaded_file($_FILES['resim']['tmp_name'],$klasor.'/'.$adi);
 
 include('PHPMailerAutoload.php');
 include('bilgiler.php');
 
 $mail = new PHPMailer();
 $mail->CharSet="UTF-8";
 
 $body="Ad Soyad:{$ad}<br> E-Posta:{$email}<br> Telefon:{$phone}<br>Mesaj:{$message}";
 
 $mail->IsSMTP();
 $mail->SMTPAuth = true;
 $mail->HOST     = $host;
 $mail->Username = $username;
 $mail->Password = $password;
 $mail->Port= 587; 
 
 if($mail->Send()){
  echo "Mailiniz gönderilmiştir. En kısa sürede sizinle iletişime geçilecektir.";
  
  }
 
 else {
  echo "Mailiniz gönderilemedi.Hata".$mail->ErrorInfo();
  
  }
  
  unlink($klasor.'/'.$adi);
  
  }
  }


?>
</body>
</html>
 
Hocam dediğinizi aynı şekilde uyguladım fotoğrafı uploads klasörüne ekliyor lakin, bu kez de Mailiniz gönderilemedi.HataYou must provide at least one recipient email address. hatası almaktayım. İşin içerisinden çıkamadım vazgeçeceğim galiba.
 
alıcı adresi yok diyor
maili alacak kişinin adresini ilgili property ye eklemeniz lazım
 
Geri
Üst