• 30-06-2008, 19:00:20
    #1
    S.a. arkadaşlar

    php scriptim de her pazartesi üyelere otomatik mail göndermek istiyorum bunu nasıl yapabilirim ? yardımcı olursanız sevinirim
  • 30-06-2008, 20:46:38
    #2
    Bu işlemi en kolay cPanel'deki Cron aracıyla yaparsın. Eğer Cron kullanmak istemiyorsan aşağıda yazdığım şekilde de yapabilirsin.

    Aşağıdaki kodları yazacağın php dosyasını koyacağın dizine mail.txt adlı içi boş bir dosya oluştur.

    Php sayfan için kodlar şu şekilde;

    <?php
    
    if(date("D")=="Mon") {
    	
    $dosya=fopen("mail.txt","r");
    $okunan=fread($dosya, 15);
    fclose($dosya);
    
    if ($okunan!=date("d.M.Y")) {
    	
    		// buraya mail gönderme kodlarını yaz ..
    		
    		$dosya2=fopen("mail.txt","w");
    		fwrite($dosya2, date("d.M.Y"));
    		fclose($dosya2);
    	}
    
    }
    
    ?>
  • 30-06-2008, 21:01:37
    #3
    Aykut kodun güzel yalnız .txt dosyaya mail adresi kaydetmek ve gönderirken dosyadan okumak çok gereksiz. 5.000 üye olduğunu düşünelim .

    MySQL tabanlı halledebiliriz aslında. Üyelerin mail adreslerinin olduğu tablo bilgisini sağlarsanız kodu yazayım.
  • 30-06-2008, 21:01:38
    #4
    Teşekkürler
    Bu php dosyasını benim çalıştırmam mı gerekir yoksa otomatik çalışır mı ?
  • 30-06-2008, 21:02:52
    #5
    kullanicilar tablosunda email sütununda kullanıcıların emaillerini tutuyorum
  • 30-06-2008, 21:04:57
    #6
    froNau adlı üyeden alıntı: mesajı görüntüle
    Aykut kodun güzel yalnız .txt dosyaya mail adresi kaydetmek ve gönderirken dosyadan okumak çok gereksiz. 5.000 üye olduğunu düşünelim .
    Ben txt dosyasında sadece son mail gönderme tarihini tutuyorum. Mail gönderme kodlarına karışmadım, darbetim o kısmı halletmiştir diye.
  • 30-06-2008, 21:07:30
    #7
    Son mail gönderme tarihini neden tutuyorsunuz ??
  • 30-06-2008, 21:12:17
    #8
    Sen her pazartesi 1 kere göndermek istemiyor musun ? .. O yüzden son gönderme tarihini tutuyorum ki pazartesi günü kod her çalıştırdığında göndermesin diye ..
  • 30-06-2008, 21:13:12
    #9
    <?

    dbBaglan();

    mail ();

    echo "Tüm kullanıcılara mail gönderilmiştir.";

    }

    ?>

    Düzeltme:

    Anlamıyorum niye Pazartesi diye tutturduğunuzu. Bu dosyayı cron ile işletirken çalışma zamanı olarak Pazatesi'yi belirtebilirsiniz. Kod içinde belirtmeye gerek yok ki .

    Düzeltme 2:

    Kod içindeki (); ifadelerini fonksiyon olarak yazmalısınız. mail(); için ise sql'den dönen veriyi kullanabilirsiniz. PHP bilginiz vardır umarım?