• 20-09-2007, 17:09:02
    #1
    Uzunca bir süre önce gelen SPAM maillerden bıktığım için böyle bir script yazmıştım, belki birilerine faydası olur. Geliştirebilirsiniz de tabi ki oldukça basit bir şekilde yazıldı..


    Dosya Adı : antispam.php
    <?
    $au_host = $_POST[host];
    $au_kullanici = $_POST[kullanici];
    $au_sifre = $_POST[sifre];
    
    if(!isset($au_host) && !isset($au_kullanici) && !isset($au_sifre))
    {
    ?>
    <form action="antispam.php" method="post" name="form" id="form">
      <table width="450"  border="0" align="center" bgcolor="#F4F5FF">
        <tr bgcolor="#D9DCFF">
          <td colspan="2"><div align="center"><span class="style7">Özel Antivirüs (test) </span></div></td>
        </tr>
        <tr>
          <td width="40%"><span class="style5">Host</span></td>
          <td width="60%"><input name="host" type="text" id="host"></td>
        </tr>
        <tr>
          <td><span class="style5">Kullanıcı Adı </span></td>
          <td><input name="kullanici" type="text" id="kullanici"></td>
        </tr>
        <tr>
          <td><span class="style5">Şifre</span></td>
          <td><input name="sifre" type="password" id="sifre"></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" name="Submit" value="Gönder"></td>
        </tr>
      </table>
    </form>
    <?
    }
    else{
    
    $imaphost = "{".$au_host.":110/pop3}";
    
    if($mbox = imap_open("$imaphost", "$au_kullanici", "$au_sifre"))
     echo "mail kutusu açıldı";
    else
     echo "mail kutusu açılamadı";
    
    
    $mcheck = imap_check($mbox);
    $mnum = $mcheck->Nmsgs;
    /*
    echo "<br>---> $mnum mesaj <---<br>";
    
    echo "<p><h1>Mailler</h1>\n";
    $folders = imap_listmailbox($mbox, "$imaphost", "*");
    
    if ($folders == false) {
       echo "HATA<br />\n";
    } else {
       while (list ($key, $val) = each($folders)) {
           echo $val . "<br />\n";
       }
    }
    
    echo "<p><h1>Mail Kutusundaki Başlıklar</h1>\n";
    if($headers = imap_headers($mbox))
    echo "Mail Başlıkları alındı<br>";
    else
    echo "Mail Başlıkları Alınmadı<br>";
    
    if ($headers == false) {
       echo "Hata<br>\n";
    } else {
    
    */
    $son = $_GET[son];
    if(!isset($son))
     $son = "750";
    
    if($mnum <= $son)
     $son = $mnum;
    
    
    if($overview = imap_fetch_overview($mbox, "1:$son", 0))
     echo "Alınan Bilgiler derleniyor..<br>";
    else
     echo "Alınan Bilgiler derlenemiyor..<br>";
    
    echo "***<br>";
    
    if (is_array($overview)) {
           reset($overview);
           while (list($key, $val) = each($overview)) {
    $subject = $val->subject;
    $numr = $val->msgno;
    $size = $val->size;
    $references = $val->references;
    $uid = $val->uid;
    $date = $val->date;
    $message_id = $val->message_id;
    $from = $val->from;
    
    echo $numr." @@ *".$subject."* - $references - *$from* [$size B]\n";
    
    if(ereg("test",strtolower($subject))
    	|| ereg("x?n?x",strtolower($subject))
    	|| ereg("val?um",strtolower($subject))
    	|| ereg("Diazepam",strtolower($subject))
    	|| ereg("v?agra",strtolower($subject))
    	|| ereg("^hello$",strtolower($subject))
    	|| ereg("delivery",strtolower($subject))
    	|| ereg("error",strtolower($subject))
    	|| ereg("report",strtolower($subject))
    	|| ereg("undelivered",strtolower($subject))
    	|| ereg("returned",strtolower($subject))
    	|| ereg("questionnaire",strtolower($subject))
    	|| ereg("status",strtolower($subject))
    	|| ereg("transaction",strtolower($subject))
    	|| ereg("failure",strtolower($subject))
    	|| ereg("patch",strtolower($subject))
    	|| ereg("free",strtolower($subject))
    	|| ereg("alert",strtolower($subject))
    	|| ereg("undeliverable",strtolower($subject))
    	|| ereg("^thanks$",strtolower($subject))
    	|| ereg("details",strtolower($subject))
    	|| ereg("re?your",strtolower($subject))
    	|| ereg("re?word",strtolower($subject))
    	|| ereg("re?document",strtolower($subject))
    	|| ereg("re?details",strtolower($subject))
    	|| ereg("check this out kid!!!",strtolower($subject))
    	|| ereg("you`ve got 1 voicemessage!",strtolower($subject))
    	|| ereg("re?excel",strtolower($subject))
    	|| ereg("re?i need you",strtolower($subject))
    	|| ereg("your text",strtolower($subject))
    	|| ereg("response",strtolower($subject))
    	|| ereg("read!!!",strtolower($subject))
    	|| ereg("re?encrpyted mail",strtolower($subject))
    	|| ereg("unknown exception",strtolower($subject))
    	|| ereg("don`t worry, be happy!",strtolower($subject))
    	|| ereg("^stolen$",strtolower($subject))
    	|| ereg("^unknown$",strtolower($subject))
    	|| ereg("^hi$",strtolower($subject))
    	|| ereg("^warning$",strtolower($subject))
    	|| ereg("^re?list$",strtolower($subject))
    	|| ereg("^question$",strtolower($subject))
    	|| ereg("your profile",strtolower($subject))
    	|| ereg("your chance",strtolower($subject))
    	|| ereg("^spam$",strtolower($subject))
    	|| ereg("virus",strtolower($subject))
    	|| ereg("your request",strtolower($subject))
    	|| ereg("re?sample",strtolower($subject))
    	|| ereg("^information$",strtolower($subject))
    	|| ereg("^fake$",strtolower($subject))
    	|| ereg("something for you",strtolower($subject))
    	|| ereg("re:how are you",strtolower($subject))
    	|| ereg("^re?$",strtolower($subject))
    	|| ereg("re?here",strtolower($subject))
    	|| ereg("^fw:$",strtolower($subject))
    	|| ereg("re?dear friend",strtolower($subject))
    	|| ereg("fw?kleopatra",strtolower($subject))
    	|| ereg("^kleopatra$",strtolower($subject))
    	|| ereg("^rejected$",strtolower($subject))
    	|| ereg("^hey!$",strtolower($subject))
    	|| ereg("re?hello",strtolower($subject))
    	|| ereg("^fw:$",strtolower($subject))
    	|| ereg("^hello!",strtolower($subject))
    	|| ereg("^rejected$",strtolower($subject))
    	|| ereg("^empty:$",strtolower($subject))
    	|| ereg("^hi!",strtolower($subject))
    	|| ereg("^attention$",strtolower($subject))
    	|| ereg("^confirmed$",strtolower($subject))
    	|| ereg("^notification$",strtolower($subject))
    	|| ereg("^re::-)$",strtolower($subject))
    	|| ereg("^re?important$",strtolower($subject))
    	|| ereg("how are you",strtolower($subject))
    	|| ereg("^thanks!$",strtolower($subject))
    	|| ereg("i need you",strtolower($subject))
    	|| ereg("re?confirmed",strtolower($subject))
    	|| ereg("re?informed",strtolower($subject))
    	|| ereg("^document$",strtolower($subject))
    	|| ereg("read it immediately",strtolower($subject))
    	|| ereg("re?confirmed",strtolower($subject))
    	|| ereg("re?hello",strtolower($subject))
    	|| ereg("please read",strtolower($subject))
    	|| ereg("^registration$",strtolower($subject))
    	|| ereg("^empty$",strtolower($subject))
    	|| ereg("^service$",strtolower($subject))
    	|| ereg("^hey$",strtolower($subject))
    	|| ereg("^important$",strtolower($subject))
    	|| ereg("^re?smtp server",strtolower($subject))
    	|| ereg("^re?administration$",strtolower($subject))
    	|| ereg("^re?hi$",strtolower($subject))
    	|| ereg("^re?protected mail system$",strtolower($subject))
    	|| ereg("^here is the document$",strtolower($subject))
    	|| ereg("^spamed",strtolower($subject))
    	|| ereg("^re?improved",strtolower($subject))
    	|| ereg("^verification$",strtolower($subject))
    	|| ereg("^reply$",strtolower($subject))
    	|| ereg("^your archive$",strtolower($subject))
    	|| ereg("^re?approved",strtolower($subject))
    	|| ereg("^re?hello",strtolower($subject))
    	|| ereg("^:-)$",strtolower($subject))
    	|| ereg("^re?data$",strtolower($subject))
    	|| ereg("^re?comfirmed",strtolower($subject))
    	|| ereg("^anna$",strtolower($subject))
    	|| ereg("^re?corrected",strtolower($subject))
    	|| ereg("^re?notify$",strtolower($subject))
    	|| ereg("^dear$",strtolower($subject))
    	|| ereg("^please, confirm the registration$",strtolower($subject))
    	|| ereg("^fw?price$",strtolower($subject))
    	|| ereg("^re?price$",strtolower($subject))
    	|| ereg("^re?approved",strtolower($subject))
    	|| ereg("^re?my application",strtolower($subject))
    	|| ereg("^your account$",strtolower($subject))
    	|| ereg("^your day$",strtolower($subject))
    	|| ereg("^kate$",strtolower($subject))
    	|| ereg("^re?melissa$",strtolower($subject))
    	|| ereg("^re?data",strtolower($subject))
    	|| ereg("^wir haben",strtolower($subject))
    	|| ereg("^bankrott des",strtolower($subject))
    	|| ereg("^registration rejected",strtolower($subject))
    	|| ereg("reminder from cause-announce$",strtolower($subject))
    	|| ereg("^re?ere is the document",strtolower($subject))
    	|| ereg("^re?protected mail system",strtolower($subject))
    	|| ereg("^oh$",strtolower($subject))
    	|| ereg("^re?hi$",strtolower($subject))
    	|| ereg("^re?notify$",strtolower($subject))
    	|| ereg("^re?order",strtolower($subject))
    	|| ereg("^take it$",strtolower($subject))
    	|| ereg("^congratilations!$",strtolower($subject))
    	|| ereg("^re?your music$",strtolower($subject))
    	|| ereg("^re?request$",strtolower($subject))
    	|| ereg("^re?sample$",strtolower($subject))
    	|| ereg("^re?message$",strtolower($subject))
    	|| ereg("^re?approved$",strtolower($subject))
    	|| ereg("^re?your document_all$",strtolower($subject))
    	|| ereg("^re?encrypted mail$",strtolower($subject))
    	|| ereg("^re?your data$",strtolower($subject))
    	|| ereg("^re?word file$",strtolower($subject))
    	|| ereg("^re?hello$",strtolower($subject))
    	|| ereg("^re?here$",strtolower($subject))
    	|| ereg("^re?read it immediately$",strtolower($subject))
    	|| ereg("^read it immediately$",strtolower($subject))
    	|| ereg("spor serv",strtolower($subject))
    	|| ereg("^re?your bill$",strtolower($subject))
    	|| ereg("^auslaendergewalt",strtolower($subject))
    
    	|| ereg("reformegitim@mail.koc.net",$from)
    	|| ereg("\".\"",$from)
    	|| ereg("dll$",$from)
    	|| ereg("16$",$from)
    	|| ereg("asss",$from)
    
    	|| ($subject == substr($from, 0, strlen($subject)) )
    )
    	{
    	if(imap_delete($mbox,$numr))
    	echo "<b> ** silindi ** </b>";
    	else
    	echo " ** silinemedi ** ";
    
    	}
    
    /*	|| !(ereg("^[-!#$%&'*+./0-9=?A-Z^_`a-z{|}~]+". "@". 
    "[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+." . "[-!#$%&'*+\./0-9=?A-Z^_`a-z{|}~]+$", 
    $from))
    */
    echo "<br>";
           }
    }
    
    echo "***";
    echo "<br><br>";
    //   }
    
    imap_expunge($mbox);
    
    /*
    $mcheck = imap_check($mbox);
    $mnum = $mcheck->Nmsgs;
    
    echo "<br>---> $mnum mesaj <---<br>";
    
    */
    imap_close($mbox);
    }
    ?>
  • 20-09-2007, 17:32:05
    #2
    Üyeliği durduruldu
    nasıl oluyor bu nasıl kullanılır
    ben beginner olduğum için hemen kavrayamıyorum.
  • 20-09-2007, 17:41:04
    #3
    Bunu antispam.php olarak kaydediyorsun, sonra yüklüyorsun internete. Yüklediğin adresten çalışıyor. Daha sonra mail bilgilerini oraya giriyorsun, maile gelmiş olan SPAM'leri, tabi ki kodlarda belirtilen şartlarda olanları siliyor. Kodları incelemenizi öneririm, SPAM olmayanları da silmesini istemiyorsanız
  • 21-09-2007, 21:17:34
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    gerçekden çok harıka bır kodlama tebrıkler rep
  • 21-09-2007, 21:36:10
    #5
    Üyeliği durduruldu
    teşekkürler abi
  • 21-09-2007, 21:37:59
    #6
    Üyeliği durduruldu
    Gerçekten müthiş bir script. Hayran kaldım. deneyelim bakalım
  • 21-09-2007, 21:42:43
    #7
    merhabalar,

    elinize emeğinize sağlık,

    aklıma takılan iki yer var,

    birincisi rule lerde i yerine ? çıkmış acaba regex kuralına göremidir yapıştırırkenmi sorun olduğu

    ikincisi imap_open yani imap kütüphaneleri için function_exists eklenip bu script sunucunuzda çalışmak yazmak konusunda ne dersiniz ? zira bazı sunucularda imap kütüphaneleri aktif olmayabiliyor.

    saygılar, haymi.
  • 22-09-2007, 17:09:16
    #8
    jackal,saho,SNaRe: teşekkürler

    ARKaDaS : ereg("^re?request$",strtolower($subject)) Buradaki soru işaretini kastediyorsan orada bir karakter gelecek manasında ? işareti kullandım : olabilir veya boşluk olabilir. Oradaki kuralları geliştirince daha faydalı olacaktır elbette. Bir ara çok sık kullanıyordum, outlook express'den outlook'a geçince sadece başlıkları çekiyorum çok problem olmuyor..

    2. konuda da elbette haklısın eklemek gerekebilir. Ama burada amacım komple bir script sunmaktan ziyade insanlar birşeyler nasıl yapılabiliyor görsün. Basit birkaç komut ile bile işinize yarayacak şeyler yapabiliyorsunuz. Amacım bunu gösterebilmek, kodlamasında çok zor veya karışık bir şeyler yok. Herkesin yapabileceği bir şey. Belki birilerinin kafasında bir ışık yanar ve daha gelişmişini yapabilir