• 08-12-2009, 02:14:47
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    emre@sitesi.com şeklindeki domain ismini nasıl birbirinden ayrıştırıp sadece domian ismini gösterebilirim ?

    Bir DOMAİN filtreleme yapıyorum ama bunun için göndericinin mail adresini ayrıştırıp sadece domaini çıkartmam gerekli.

    Gönderici zaaa@sitesi.com olsun ayrılım sonucu sadece sitesi.com çıkmalı, ancak gönderici ismini sürekli değiştiğini unutmayalım biraz araştırdım ama ingilizcem kıt bulamadım uygun bir kodlama bunun için
  • 08-12-2009, 02:37:35
    #2
    Üyeliği durduruldu
    daha açıklayıcı olmaz herhalde. kolay gelsin

    <?php
    $str = 'one|two|three|four';
    
    // positive limit
    print_r(explode('|', $str, 2));
    
    // negative limit (since PHP 5.1)
    print_r(explode('|', $str, -1));
    ?>
    
    
    // çıktı
    
    Array
    (
        [0] => one
        [1] => two|three|four
    )
    Array
    (
        [0] => one
        [1] => two
        [2] => three
    )
  • 08-12-2009, 02:39:58
    #3
    BHCoder'in ayrıntılı şekilde yazdığı kodu istediğiniz biçime sokmak için..

    <?php
    $str = 'destek@linebilisim.com';

    // positive limit
    print_r(explode('@', $str, 1));
    ?>

    kullanabilirsiniz..
  • 08-12-2009, 02:49:52
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    ben eğer doğru anladıysam şurdaki makale sizin işinizi görecek

    http://www.mutasyon.net/makaleoku.asp?id=709

    dinamik olarak resim oluşturup email adreslerini maskeleyip jpeg formatında yazdırabilirsiniz.
  • 08-12-2009, 03:20:12
    #5
    webgrup adlı üyeden alıntı: mesajı görüntüle
    ben eğer doğru anladıysam şurdaki makale sizin işinizi görecek

    http://www.mutasyon.net/makaleoku.asp?id=709

    dinamik olarak resim oluşturup email adreslerini maskeleyip jpeg formatında yazdırabilirsiniz.
    yanlış anlamışsınız sanırım..
  • 08-12-2009, 03:44:10
    #6
    Üyeliği durduruldu
    webgrup adlı üyeden alıntı: mesajı görüntüle
    ben eğer doğru anladıysam şurdaki makale sizin işinizi görecek

    http://www.mutasyon.net/makaleoku.asp?id=709

    dinamik olarak resim oluşturup email adreslerini maskeleyip jpeg formatında yazdırabilirsiniz.
    evet yanlış anlamışsınız.
  • 08-12-2009, 04:12:15
    #7
    Üyeliği durduruldu
    linebilisim adlı üyeden alıntı: mesajı görüntüle
    BHCoder'in ayrıntılı şekilde yazdığı kodu istediğiniz biçime sokmak için..

    <?php
    $str = 'destek@linebilisim.com';

    // positive limit
    print_r(explode('@', $str, 1));
    ?>

    kullanabilirsiniz..
    o şekilde yine aynı mail adresini domainden ayırmadan, array şeklinde verir, yani çalışmaz.

    5 adet kullanım yöntemi verdim biraz fantazi :P aşağıdakilerden birini kullanabilirsiniz.
    yöntem1;
    $mail = 'devturkeli@php.net';
    $domain = substr($mail, strrpos($mail, '@') + 1);
    echo $domain;
    // Çıktı: php.net
    yöntem2;
    $mail = 'devturkeli@php.net';
    $parca = explode('@', $mail);
    $domain = $parca[1];
    echo $domain;
    // Çıktı: php.net
    yöntem3;
    $mail = 'devturkeli@php.net';
    $domain = str_replace('@', '', strrchr($mail, '@'));
    echo $domain;
    // Çıktı: php.net
    yöntem4;
    $mail = 'devturkeli@php.net';
    $domain = str_replace('@', '', strstr($mail, '@'));
    echo $domain;
    // Çıktı: php.net
    yöntem5;
    bu yöntemde explodennin regular expressions uyumlu halidir, bunu kullanmanızı tavsiye etmem maksat örneklemek.
    $mail = 'devturkeli@php.net';
    $parca = split('@', $mail);
    $domain = $parca[1];
    echo $domain;
    // Çıktı: php.net
  • 08-12-2009, 11:18:31
    #8
    devturkeli sağ ol yöntem1 i denedim ve sorunsuzca çalıştı. Sayende bir foreach döngüsü yapıp gelen mailleri (senin kodlaman ile) domanilere ayırıp veri tabanında listelenen domainler varsa buna göre bir tür ban sistemi uygulayacağım, tşkler. Yardımcı olmaya çalışan diğer arkadaşlarda sağ olsun.

    Yaşasın işe yaradı işte GLOBAL DOMAIN YASAKLAMA metodum (devturkelinin sayesinde)

    // GLOBAL DOMAIN ENGELLEME BAŞLADI
    $domain_tara = explode(":", $ayarlarim['yasakliler_listesi']);
    foreach($domain_tara as $domain_tesbit)
    // Buradaki foreaç sayesinde yasaklı listemde kaç domain adresi varsa bu kontrol işlemi o sayı kadar gerçekleşiyor
    {
          $kimsiniz = Mail::CikarAdresleri($m->Yuru_Header('from'));
          $domain_ban = substr($kimsiniz, strrpos($kimsiniz, '@') + 1);
    	if($domain_ban == $domain_tesbit)
    	{
    		// Göndericiye Hatayı Gönder
    			DAEMON_MAIL($gonderen, $alan, SEBEP_YASAK);
    	}
    }
    // İŞLEM TAMAM
    Kodumu paylaştım belki birileride bakarak benzer bişeyler yapmakister diye. Hatta kafamda şöyle bişey geldi, mesela oraya IF ile bir anahtarlama yapıcam ve bazı seçenekler admin panele ekleyebilirim,

    1- Yasaklı domain varsa silinsin
    2- Yasaklı domain varsa spama düşsün
    3- Yasaklı domain varsa göndericiye domainin banlkandı mesajı gitsin gibi ..
    seçeneklerde yapılabilir.

    Gerçekten insanı bişeyi bilmemesi çok kötü eğer domain ve mail adresini ayrıştıramasa idim bunların hiç birinide yapamayacaktım.