• 29-08-2013, 18:10:58
    #1
    Arkadaşlar belki defalarca aynı soru sorulmuştur. Hepsini araştırdım ve denedim. Elimde bir iletişim formu mevcut. Form bazı sitelerimde (hepsi aynı hostta ve uft8 bomsuz) çalışıyor karakter sorunu olmadan. Bazısında karakter sorunu yaratıyor.

    Kodlar aşağıdaki gibidir.

    Html entegre edilerek çalışmaktadır.

    Mail'e düşerken sorun oluyor. Mail başlığında sorun bulunmamakta...

    Birde maile düşen yazıların boyutunu değiştirmek istiyorum fakat ne denediysem yapamadım..

    UTF-8 ve UTF-8 Bomsuz hem html hem de aşağıdaki php de denenmiştir... Bakarsanız sevinirim

    <?php
     $ad_soyad   = $_POST["ad_soyad"];
      $tel    = $_POST["tel"];
      $email      = $_POST["email"];
      $mesaj      = $_POST["mesaj"];
        $il      = $_POST["il"];
    $urun      = $_POST["urun"];
    $odeme      = $_POST["odeme"];
     $adres      = "mail@mail.com";
      $konu       = "Sipariş Formu";
     $tarih      = date('Y-m-d');
     $ip_adresi  = $_SERVER['REMOTE_ADDR'];
    
     if(($ad_soyad=="") or ($tel =="") or ($email=="") or ($mesaj=="")){
    
    echo "<center>Lütfen Ad Soyad, Telefon, E-Mail ve Mesaj alanlarını 
                                                          boş bırakmayınız.;
     <br><a href=siparis.htm>Geri dön</a></center>";
    
      }
       else
    {
    
    $mesajveri.="SİPARİŞ FORMU MESAJI\n\n";
    $mesajveri.="Ad ve Soyad:  ".$ad_soyad."\n";
    $mesajveri.="Telefon:  ".$tel."\n";  
    $mesajveri.="E-Mail:  ".$email."\n";
    $mesajveri.="Ürün:  ".$urun."\n";
    $mesajveri.="Ödeme Yöntemi:  ".$odeme."\n";
    $mesajveri.="Kargo Adresi:  ".$mesaj."\n";
    $mesajveri.="Şehir:  ".$il."\n";
    $mesajveri.="Tarih: ".$tarih."\n";
    $mesajveri.="IP Adresi: ".$ip_adresi."\n";
    
      $mesajyolla = mail($adres, $konu, $mesajveri);
    
      if($mesajyolla)
      {
    
      echo "<center>Siparişiniz bize ulaştı, </br> En kısa sürede cevaplanacaktır.
      İlginiz için teşekkür ederiz.<br><a href=siparis.htm>Geri Dön</a></center>";
      }
        else
     {
    
     echo "<center>E-Mail gönderilirken hata oluştu! Lütfen daha sonra 
                                                        tekrar deneyiniz.</center>";
    
    }
      }
    ?>
  • 29-08-2013, 23:01:43
    #2
    Üyeliği durduruldu
    <meta charset="utf-8">
    Mail için kullandığınız tüm sayfalarda <head> tagları arasına bunu yerleştirip tekrar deneyin.

    Çalışmaz ise

    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    $headers .= 'To: Alıcı 1 <alici1@adres.com>' . "\r\n";
    $headers .= 'From: Yollayan <yollayan@adres.com>' . "\r\n";
    $headers .= 'Reply-To: Yanit <yanit@adres.com>' . "\r\n";
    $headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
    Bu kodları mail fonksiyonunun üstüne yapıştırın. Gerekli yerleri düzenleyin ve mail fonksiyonunuzu şu şekilde değiştirin.

     $mesajyolla = mail($adres, $konu, $mesajveri, $headers);
    Çalışmaz ise özel mesajdan yardımcı olabilirim.

    Ayrıca mail() fonksiyonu artık çoğu hostta devredışı bırakıldı. SMTP ye geçmenizi öneririm.
  • 29-08-2013, 23:50:18
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @istanbullili; +1 sana katılıyorum. SMTP e-posta gönderimi şu konuyu ziyaret edebilirsin.