Aslinda bunu yapmakla ben asil mevzunun sistem tarafina hakimiyet ve bundan otesinin pek farkli olmadigini gostermek istemistim. squirrelmail icin sorunuza php ile yapilmamasi icin bir gerekce yok diyerek cevap vereyim.
crontab -e * /5 * * * /usr/bin/php /uyar_beni_bebegim.php bakin kolayca yaptik :P On Mon, 2012-04-30 at 14:13 +0300, Mucibirahman İLBUĞA wrote: > 30-04-2012 14:04 tarihinde, Atıf CEYLAN yazdı: > > :) noktali virgul ve $ eklemek disinda pek fark olmadi goruldugu gibi. > Selamlar, > Zorlamayın beni Atıf Bey :) Neticede dil dildir... Aynı şeyi fortran ile > de yapabilirsiniz. Bundan yana sıkıntı yok. Ama hani daha kolay gibi > geliyor bana. Elbette ortada renk ve zevk arasındaki paradoks baki... > > BU arada aşağıda Squirelmail kullanıcılarının takvimdeki hatırlatma > kayıtlarını zamanı geldiğinde kullanıcıya e-posta atarak uyaran kod... 5 > dk'da bir çalıştırıyorsun oluyor :) > > Elbette siz bunu şimdi php ile de yazarsınız muhakkak... :-P > > #!/usr/bin/python > # -*- coding: utf8 -*- > > > # Bu program Squirrelmail Takvim eklentisini hatirlatici olarak > # kullanilmasi icin yazilmistir. > > > > import string, os, codecs, fnmatch, time, random > > > def IslemYap(GelenDosya,Kime): > global AnlikZaman > #Kisisnin domain'i tespit ediliyor ve [email protected] olarak > belirleniyor. > Takas=Kime.split("@") > Gonderen="HATIRLATICI@"+Takas[1] > f=open(GelenDosya,"r") > for line in f: > Okunan=line > Bilgi=Okunan.split("|") > Tarih=Bilgi[0] > TarihAy=Tarih[0:2] > TarihGun=Tarih[2:4] > TarihYil=Tarih[4:8] > Saat=Bilgi[1] > SaatSaat=Saat[0:2] > SaatDakika=Saat[2:4] > Sure=Bilgi[2] > Durum=Bilgi[3] > Baslik=Bilgi[4] > Aciklama=Bilgi[5] > #******************************** > t=(int(TarihYil), int(TarihAy), > int(TarihGun),int(SaatSaat),int(SaatDakika),0,0,0,0) > BaslangicZaman=time.mktime(t) > BitisZaman=BaslangicZaman+(int(Sure)*60) > > if BaslangicZaman<=AnlikZaman and AnlikZaman<=BitisZaman: > Sayac=str(random.random()) > Sayac=Sayac[-5:] > # Mesajin olusturulacagi dizin... Bu dosya islem sonunda > silinecek... > HedefDosya="/root/GidenPosta"+ Sayac + ".txt" > # Mesajin icerisi dolduruluyor... > cmd ='echo To:'+ Kime + '>'+ HedefDosya > os.system(cmd) > cmd ='echo From:'+ Gonderen + ' >>'+ HedefDosya > os.system(cmd) > cmd ='echo Subject:'+ Baslik + " Konulu Hatirlatmaniz var!" + > '>>'+ HedefDosya > os.system(cmd) > cmd ='echo Hatirlatma Tarihi: '+ TarihGun + "/" + TarihAy + "/" > + TarihYil + '>>' + HedefDosya > os.system(cmd) > cmd ='echo Hatirlatma Zamani: '+ SaatSaat + ':' + SaatDakika + > '>>'+ HedefDosya > os.system(cmd) > cmd ='echo Hatirlatma Suresi: '+ Sure + ' dakika >>'+ HedefDosya > os.system(cmd) > cmd ='echo > ----------------------------------------------------------- >>'+ HedefDosya > os.system(cmd) > cmd ='echo '+ Aciklama + '>>'+ HedefDosya > os.system(cmd) > cmd ='echo > ----------------------------------------------------------- >>'+ HedefDosya > os.system(cmd) > cmd ='echo Kaynak tarih kaydina git >>' + HedefDosya > os.system(cmd) > cmd ='echo Sirket icinden: > http://192.168.0.153/webmail/plugins/calendar/day.php?year=' + TarihYil > + '\&month=' + TarihAy + '\&day=' + TarihGun + ' >>' + HedefDosya > os.system(cmd) > cmd ='echo Sirket disindan: > http://85.105.YY.XX/webmail/plugins/calendar/day.php?year=' + TarihYil + > '\&month=' + TarihAy + '\&day=' + TarihGun + ' >>' + HedefDosya > os.system(cmd) > cmd='cat ' + HedefDosya + ' |/var/qmail/bin/qmail-inject' > os.system(cmd) > cmd='rm -f ' + HedefDosya > os.system(cmd) > > f.close() > > > def Basla(): > DizinAdi="/var/lib/squirrelmail/prefs" > Yil =time.strftime("%Y",time.localtime()) > Kriter = "*." + Yil + ".cal" > os.listdir(DizinAdi) > dirname = DizinAdi > os.listdir(dirname) > #print glob.glob('/var/lib/squirrelmail/prefs' + '/*.2009.cal') > #print [f for f in os.listdir(dirname)] > #print [f for f in os.listdir(dirname) if > os.path.isfile(os.path.join(dirname, f))] > #print [f for f in os.listdir(dirname) if > os.path.isdir(os.path.join(dirname, f))] > #showerror("Hata",u"FiyatDetay okunamadi!") > for file in os.listdir(DizinAdi): > if fnmatch.fnmatch(file, Kriter): > Kime=file[:-9] > IslemYap(DizinAdi + '/' + file,Kime) > > > AnlikZaman = time.time() > #print AnlikZaman > AnlikDakika = int(time.strftime("%M",time.localtime())) > #print AnlikDakika > > #Programin her 5 dakikada bir yani besin katlari olan dakikalarda > calismasini sagliyor... > if AnlikDakika%5 == 0: > Basla() > > -- /** * @author Atıf CEYLAN * Software Developer & System Admin * http://www.atifceylan.com */
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
