RSS

Resimli mail ile aktivasyon

22 27 Şubat 2012 ~ Musa Avcı — Orta

Geçenlerde yine bir aktivasyon maili alıp resimleri göstere bastığımda kafamda bir ampül yandı. Normal link ile hesap aktivasyonu dışında bundan daha hızlı ve alternatif bir yöntem daha uygulanabileceğini düşündüm.

Kullanıcı üyeliğini tamamladıktan sonra aktivasyon mailini açmasıyla herhangi bir linke tıklamadan hesabı aktif edilmiş olacak.

Olayı da basit; Bir aktivasyon linki yerine ya da aktivasyon linkine alternatif olarak mail içerisine aktivasyon linkini resim olarak eklemek. Daha doğrusu bu resim için özel bir dosya hazırlayıp PHP ile hesabı aktif ettikten sonra bu dosyada “Hesabınız aktif edildi” resmini göstermek.

PHP dosyasında resim göstermek

Bir PHP dosyasını resim gibi ya da istediğiniz bir dosya türü gibi göstermek headerlar aracılığıyla oluyor. Eğer headera göstermek istediğimiz resmin formatını tanımlarsak PHP dosyası çağrıldığında resim olarak gösterilmesini sağlayabiliriz.

Bu işlem PHP’de adı üstünde “header” fonksiyonu ile yapılıyor. Örnek olarak yazıdaki “Hesabınız aktif edildi” resmini alıp şu kodu deneyebilirsiniz;

header('Content-Type: image/png; charset=utf-8');
readfile('aktifedildi.png');

Bu sayfaya girdiğinizde ya da bu sayfayı bir HTML sayfada <img src=”resim.php” /> şeklinde çağırmak istediğinizde “aktifedildi.png” resmini görürsünüz.

Eğer sizin kullanacağınız resim jpeg ya da başka bir formatta ise ilk satırdaki “image/png” kısmını düzenlemeyi unutmayın.

PHP ile resim gösterip başka işlemler yapmak

Yukarıdaki örnekte sadece bir PHP dosyasını çağrıldığında resim gibi gösterilmesini sağladık. Şimdi gelelim kullanıcılar bu resmi görürken arkada işlemler gerçekleştirmeye. Aslında bu nokta da gayet basit, sadece yukarıdaki header kodlarından önce yapmak istediklerimizi yapacağız.

$aktivasyon_kodu = $_GET['kod'];

// ...
// sizin çalışmanıza özel aktivasyon işlemleri burada olacak
// ...

header('Content-Type: image/png; charset=utf-8');
readfile('aktifedildi.png');

Mail aktivasyon kısmı için farekttiğiniz gibi dışarıdan bir “kod” değeri aldık. Bu kısım sizin tercihinize göre değişebilir. Fakat işin bir püf noktası da burası. Yani linklere yazdığımız aktivasyon kodunu bu şekilde dosyamıza iletiyoruz.

Şimdi aktivasyon mailine bir link eklemek yerine aşağıdaki gibi resmi eklediğinizde;

<img src="http://www.siteniz.com/aktivasyon.php?kod=abcd1234"/>

Kullanıcı maili açtığında “Hesabınız aktif edildi” resmi ile karşılaşacak siz ise resim gösteren sayfayı çağırırken eklediğiniz kod ile bu kişinin hesabını aktif edeceksiniz.

Bu ufak alternatif ile kullanıcılarınıza farklı bir deneyim yaşatabilirsiniz.

Ayrıca whos.amung.us ya da StatCounter gibi sadece grafik ile çalışan hit sayan servislerde buna benzer bir yöntem ile bu işlemleri gerçekleştirmektedir. Yani yine bu yöntem ile kendi özel resimli sayaçlarınızı da yapabilirsiniz.

Bir başka serüvende görüşmek üzere!

Etiketler:

Yazılanlar ilgini çektiyse, yenilerinden haberdar olmak için e-mail bültenine abone olabilirsin.

"Resimli mail ile aktivasyon" yazısı için 22 yorum yapılmış.

  1. Sinan Yorulmaz dedi ki:

    Güzel bir anlatım ve mantıklı bir iş. 🙂

  2. Ali Görkem dedi ki:

    Çok yaratıcı aslında ama gelen maillerdeki resimleri direk yüklemiyor hotmail, gmail gibi servisler. Kullanıcının “resimleri göster” seçeneğine tıklaması gerekmez mi? Çoğu bilgisiz kullanıcı yapmayabilir bunu galiba.

    • Musa Avcı dedi ki:

      evet, bu yöntemi alternatif olarak kullanmak en mantıklısı. yani linkden önce aktivasyon maili içinde “hesabınızın aktif olması için resmi görüntülemeniz yeterli” diyebilirsin.

  3. Hakan dedi ki:

    Ama şöyle bi sorun olabilir, mesela ben başkasının mailiyle bi siteye üye olsam, o maile aktivasyon mesajı gidecek maili alan dikkat etmeden resmi göster derse kendi mail adresini başkası kullanmış olacak.

    • Musa Avcı dedi ki:

      ne alaka? aynısı normal aktivasyon maili içinde geçerli, bu yöntem sadece bir alternatif. tam bir paranoyaksın hakan 😀

      • Hakan dedi ki:

        normalinde link var resimleri göster demek ayrı bişey ama maile aktivasyonu iptal etme linki eklenirse sorun olmaz gibi aktifleşse bile hemen tıklayıp işlemi geri alabilir.
        (sensin la paranoyak :p)

      • İlker Aksoy dedi ki:

        Hakan doğru söylüyor, benim mail adresimle bir başkasının üye olduğunu farkettiğimde onaylama bağlantısına tıklamıyorum. Ama bu sistemde ben istemeden benim mail adresim onaylanmış oluyor. Bu sıkıntı dışında gayet mükemmel bir sistem olmuş, tebrikler.

  4. Hakan dedi ki:

    mailde html kullanılıyor, iframe koymak yasakmı

  5. tamer dedi ki:

    Guzel dusunulmus bir olay tebrikler musa , yanliz hakanin dedigide bir olasilik benim mailim ile benim isdigvem bire sitey uye olunabilir bu uyeligi ben yanlislikla onaylayabilirim .

  6. sefa dedi ki:

    güzel bir yöntem olmuş, mail okundu okunmadı mevzusunu bu yolla analiz ediyorlar. ve diğer tıklamaları felan filan

  7. Serkan AYDIN dedi ki:

    maili açar açmaz aktivasyon sakıncalı olabilir. bir kişi maili açmakla onaylama işlemini yapmış olmamalı. mailde bir açıklama metni ve onaylıyorsa onay linki iptal içinde iptal linki olması gerekir. ancak bu yöntem birçok şey için işime yarayacak çok teşekkürler faydalı bilgi.

  8. Hakan dedi ki:

    Açar açmaz aktivasyon onaylanmıyor zaten resimleri göster dememiz lazım ama kullanıcı buna dikkat etmeden direk resimleri göster derse aktivasyon onaylanacak.
    Ama tabi bi iptal link koyulup sorunu halledilir.

  9. Phpci dedi ki:

    Arkadaşların da dediği gibi resimleri göster seçilmezse çalışmayacaktır ve adam üye olurken başkasının mailini yazmışsa karşı tarafta saflığından resimleri göster demişse o adamın mailiyle istemeden üye olunmuş olacak.Bence aktivasyon linki herzaman en sağlamıdır.

  10. Cihan Aksu dedi ki:

    Bu metod daha çok newsletterlarda kullanılıyor hocam. Bu sayede maili kaç kişinin okuduğu da tespit edilmiş oluyor. Faydalı bir paylaşım olmuş.

  11. cahilcuhela dedi ki:

    Mailimi başkası kullanırsa böyle olur şöyle olur diye yorum yapan arkadaşlara..
    Arkadaşımız yöntem göstermiş.. önemli olan yöntemi bilim farklı alanlarda kullanmabilmeyi sağlamak.. Teşekkürler Musa Kardeş.. Sayende php ye giriş yaptım. 😉

  12. oktay dedi ki:

    Bizim sitemiz hiç mail atmıyor, yani aktivasyon linki göndermiyor, bunun için sanırım php kodlarında bir şeyler yazmak gerekiyor. Elinde bu platform olan var mı? Çok makbule geçer yardımcı olabilirseniz.

  13. Fatih dedi ki:

    whos.amung.us da kod eklerken sadece resim eklenmiyor javascript kodu da ekleniyor 🙂

    Teşekkürler güzel bir fikir.

  14. Çok mantıklıı 😀 Teşekkürler!

  15. Huseyn dedi ki:

    Bilgi ichin tesekkurler 🙂

  16. Ercan dedi ki:

    Aşağıdaki linkten nasıl yapılacağına ve ilgili kodlara dair bilgi edinebilirsiniz.
    http://www.ercanakar.org/php-mysql-aktivasyon.html

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir