• 20-02-2008, 04:34:34
    #1
    Eposta Aktivasyonu Gerekmekte
    merhabalar arkadaşlar
    üyelerime mail çekmek istiyorum. sitem özel script olduğu için böyle bir özellik ekletmedim yaptırırken. şimdi bu mail olayını nasıl yapabilrim acaba?

    mail server yapmak ile ilgili bi kaç şey okudum ama çözemedim.
    evde kullandığım bilgisayar çift işlemci sanırım kaldırır mail server olayını bilen arkadaşlar yardım veya öneride bulunabilrler mi acaba

    ilginiz için şimdiden teşekkürler
  • 20-02-2008, 10:56:23
    #2
    Toplu mail için mail server şart değil. İstersen yazdıracağın veya internetten bulabileceğin bir ücretsiz script ile yollatabilirsin. Kendi sitenin bulunduğu server mail atma olayını karşılamaktadır zaten. Tabi yararları veya zararları hakkında biraz araştırma yapsan fena olmaz kolay gelsin
  • 20-02-2008, 11:22:39
    #3
    Üyeliği durduruldu
    scriptte önemli deil groupmail programından gerekli ayarları yapınca spam olarak algılanmıyor (mesela her 5 mesajda 5 sn ara ver gibi)
  • 20-02-2008, 13:28:16
    #4
    script olursa iyi olur bilen bir arkadaş varsa yazarsa ii olur tşk
  • 20-02-2008, 17:25:38
    #5
    Eposta Aktivasyonu Gerekmekte
    kullanan yok mu hiç.
    spam olarak değil
    gerekirse elle girerim üyelerimin mail adreslerini yokmu temiz sağlam bir program
  • 20-02-2008, 18:55:48
    #6
    banada lazım. server 500 mail e ızın verıyor. 500 beşyuz atabilmem ıcın varmı bırseyler
  • 12-05-2008, 23:12:19
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    şöyle bir yöntem izleyebilirsiniz arkadaşlar.

    öncelikle gönderilecek mailleri tek seferde göndermeyi denemeyin bu yapılacak en kötü davranış olur , belirli bir zaman bekleyerek gruplar halinde atın mailleri, peki bunu nasıl yapacağız derseniz. aşağıdaki yolu izleyin.


    <?PHP
    ob_start('gz_handler'); // Header alredy sent hatasını önlemek için kullanın.
    header ("Content-Type: text/html; charset=iso-8859-9");
    // İşlem Zaman aşımına uğramasın diye aşağıdaki fonksiyonu ekleyin
    function mail_set_time_limit($limit) {
    if (!get_cfg_var('safe_mode')) {
    set_time_limit($limit);
    }
    }
    // Mailler için bir veritabani bağlantısı yapmadan txt dosyasından okutarak gönderelim. ama illa veritabani bağlantısı yapacağım diyorsanız değerlerin tamamını bir değişkene atayarak explode ile bölerek işlem yapmanız performans açısından lehinizedir.
    
    // Kaç tane mail adresi var onu öğrenelim , txt dosyasında her mail adresi bir satırda olacak şekilde yazılmış diye düşünüyorum.
    $dosyaadi = "maillistesi.txt";
    $satirlar    = file($dosyaadi);
    $satirsayi    = count($satirlar);
    
    // $_GET kullanılacağı için ilgili veriyi güvenli hale getirelim
    // Bu işlem için aşağıdaki fonksiyonu kullanalım.
    function VeriDuzenle($str)
    {
    $str         = htmlspecialchars("$str", ENT_QUOTES);
    $str         = preg_replace("'\s+'"," ",$str);
    $str        = ltrim(rtrim($str));
    return $str;
    }
    
    // Ayarlarımızı yapıyoruz , bir seferde kaç mail gönderilecek , kaç saniye beklenecek gibi.
      $gonder = VeriDuzenle($_GET["gonder"]) ? VeriDuzenle( $_GET["gonder"]) : 0; 
      $kactane = 50; // her defasında kaç mail gönderilecek
      $araver = 2;   // her seferinde kaç saniye ara verecek
    bu bölüme kadar maillistesi.txt dosyasından göndereceğimiz mail sayısını öğrendik , zaman aşımına uğramaması ve header hatası vermemesi için gereken kısımları yazdık , her defada kaç mail gönderip ne kadar bekleyeceğini değişkenlere atayarak ayarladık.

    şimdi bir for döngüsü yaratarak her seferinde bir sonraki grubun gönderilmesini sağlıyoruz.

    // üstteki koddan devam
    for($i=$gonder; $i<$gonder+$kactane ; $i++)
    {
    // bu döngü ne yapar , eğer $gonder değeri $gonder+$kactane değerinden küçükse betik çalışmaya devam eder , yani ilk çalıştırdık ve listemizde 500 adres var her seferinde 50 mail göndereceğiz bu durumda 
    //$i=$gonder; $i<$gonder+$kactane şu değerleri almış olacaktır 
    //$i=0 ; $i<0+50 , bir sonraki calışmasında değerler şu şekilde artacaktır. 
    //$i=50; $i<50+50
    
    
    // mail gönderim kodunuz burada çalışacak
    
    }
    
    // şimdi de listedeki mail sayısı ile gonderilen mail sayısına bakalım eğer gönderilen sayı daha küçükse sıradaki gruba gondermesi için betiği tetikleyelim.
    
     if(count($satirlar) > ($gonder+$kactane))
    {
    header("refresh: $araver; url=mailgonder.php?gonder=".($gonder+$kactane)); // belirttiğimiz saniye aralığında sayfayı yeniler
     }
       
    // yukarıdaki yönlendirme şu şekilde olacak
    // 1nci döngüde yönleneceği adres | mailgonder.php?gonder=50 
    // 2nci döngüde yönleneceği adres | mailgonder.php?gonder=100
    // dolayısıyla yukarıda yazılan for dongusu kaçtan başlayıp kaça kadar çalıştığını bilecek
    yukarıdaki mantıkla mail gönderiminde max_execution_time sınırı sıkıntısını yaşamadan mail gönderebilirsiniz.

    Eğer HTML içerikli mail göndermek istiyorsanız mail gönderim kodunuzun header bilgisini şu şekilde tanımlayın.

            $headers = "From: info@benimsiteminadresi.org\n" .
           'X-Mailer: PHP/' . phpversion() . "\n" .
           "MIME-Version: 1.0\nContent-Type: text/html;charset=iso-8859-9\n" .
           "Content-type: text/html; charset=iso-8859-9\n".
           "Content-Type: text/html; charset=utf-9\n" .
           "Content-Transfer-Encoding: base64t\n";
    hepinize kolay gelsin.
  • 18-05-2008, 12:05:12
    #8
    jagum, öncelikle paylaşımın için telşekkür ederim..
    htm mail gondermek için, header bilgileri nereye yazıyoruz..
    birde mesajı mızı nereye yazıyoruz.
    Yardımcı olursan memnun olurum.
  • 18-05-2008, 12:24:24
    #9
    Hbh
    Üyeliği durduruldu
    tşk jagum