Archive for the ‘Email’ Category

Ebben a bejegyzésben a viral marketing megvalósításáról fogok írni egy rövid leírást.
A MarketingSzoftverek MailMaster szoftverét használva nagyon egyszerűa viral marketing alkalmazása.

A későbbiekben fogok írok majd egy részletesebb cikket is, amiben egy konkrét Drupal modulon keresztül mutatom be ennek a nagyon egyszerű ám annál hatékonyabb rendszernek a lényegét.

Először: mi is az a viral marketing és mire jó?

A rendszer egy nagyon egyszerű és ingyenes módszer a weboldal, blog, cikk vagy akár feliratkozó form látogatottságának növelésére. Azon kívül, hogy ingyenes és hatékony másik nagy előnye az, hogy egyből a célközönséget, a potenciális érdeklődőket veszi célba.

A rendszer lényege, hogy miután valakit meggyőztünk arról hogy adja meg email címét és iratkozzon fel a levelezőlistára, saját maga ajánlhatja az oldat ismerőseinek barátaink, olyan embereknek akikről úgy gondolja szintén érdekelheti az adott oldal.

Így ha valaki ajánl nem egy, hanem akár három-négy feliratkozót is nyerhetünk, akik szintén továbbküldik az oldalt.

Viral marketing ábrázolása

 

Az ábra remekül szemlélteti a viral marketing hatékonyságát.

Megvalósítás MailMaster segítségével

Először létre kell hozni egy új levelezőlistát, ebbe fognak bekerülni az ajánlott emberek. Az alapértlemezett mezőkön kívül vegyük fel az alábbi mezőket:

 

Ismerős keresztneve ismeros_keresztnev Rövid szöveges  
Ajánló email címe ajanlo_email Rövid szöveges  
Ajánló keresztneve ajanlo_keresztnev Rövid szöveges  
Kimenőüzenet szövege uzenet Hosszabb szöveg  
Ajánló vezetékneve ajanlo_vezeteknev Rövid szöveges

Természetesen más mezőket is létre lehet hozni attól függően, hogy milyen információkat akarunk letárolni.

Ezután látrehozunk egy text levelet aminek a szövege egyszerűen ennyi:

[uzenet]

Tehát az üzenet lényegében egy feliratkozáskor megkapott érték.

Ezek után a levélhez beállítunk egy időzítést az előbb létrehozott lista feliratkozására.

A feladó [ajanlo_vezeteknev] [ajanlo_keresztnev] a feladó email címe: [ajanlo_email] a tárgy amit akarunk pl: “Te is véteknek tartanád kihagyni?”, de akár külön létrehozhatunk a tárgynak is egy mezőt!

Innenstől kezdve a MailMaster autamatikusan kezeli a továbbajánlásokat!
Mostmár csak a php kódot kell megírni hozzá és működik a rendszer!

De először nézzük meg a folyamatot!

Kell egy feliratkozó form, amin keresztül a felhasználó bekerül a levelezőlistába:

 

Feliratkozó form

 

A submit folyamat után a felhasználó átkerül a viral oldalra:

Viral oldal

Itt van egy nagyon fontos dolog!

Amikor a felhasználó erre az oldalra kerül már itt fel kell dolgozni a levelezőlistába való bekerülését! (Nyilván nem az ajánló listába hanem fő levelezőlistába, amivel email marketingelünk)

Ennek az oka az, hogy sok ember nem ajánl és Ők 90%-ban amikor erre az oldalra kerülnek tovább is mennek azt gondolva a feliratkozásuk siekres volt. Ha nem kezeljük már itt a listába való bekerülést, akkor nemhogy több embert szerzünk, hanem még veszítünk is.

Tehát a lista feliratkozást és a viral rendszert el kell különíteni!

Ezután jöhet a feliratkozást biztosító php kód, azaz a MailMaster API

  1. <?php
  2. if ($_POST['ajanlo_email']) {
  3.  
  4.   for ($i = 0; $i<5; $i++) {
  5.     if ($_POST["ismeros_email_$i"]) {
  6.       $uzenet = preg_replace("/\[ismeros_keresztnev]/i", $_POST["ismeros_keresztnev_$i"], $_POST['uzenet']);
  7.       $uzenet = preg_replace("/\[ajanlo_keresztnev]/i", $_POST['ajanlo_keresztnev'], $uzenet);
  8.       $uzenet = preg_replace("/\[weboldal_cime]/i", $_POST['weboldal_cime'], $uzenet);
  9.  
  10.       $param = array(
  11.       'mssys_formid'         => 'a-form-azonositoja',
  12.       'email'                => $_POST["ismeros_email_$i"],
  13.       'ismeros_keresztnev'   => $_POST["ismeros_keresztnev_$i"],
  14.       'ajanlo_keresztnev'    => $_POST['ajanlo_keresztnev'],
  15.       'ajanlo_vezeteknevnev' => $_POST['ajanlo_vezeteknevnev'],
  16.       'ajanlo_email'         => $_POST['ajanlo_email'],
  17.       'uzenet'               => $uzenet
  18.       );
  19.  
  20.       $stringParam = base64_encode(gzdeflate(serialize($param)));
  21.       $remoteURL = "http://www.marketingszoftverek.hu/newsletter/remote-subscribe-id.php?d=$stringParam";
  22.       if (!($fp=fopen($remoteURL, "r"))) {
  23.         echo "Could not open the URL";
  24.         exit;
  25.       }
  26.  
  27.       $feliratkozasOK = '';
  28.       while (!feof($fp)) {
  29.         $feliratkozasOK .= fread($fp, 8192);
  30.       }
  31.       fclose($fp);
  32.     }
  33.   }
  34. }
  35. ?>

Ezután a viral marketingel továbbajánlott emberek bekerülnek a viral-nak létrehozott email listába és a feliratkozásra beállított levél autamatikusan kimegy.
Mivel az üzenet szövege a php oldalon személyre szabottan le lett cserélve így mindenkinek más lesz az üzenete, és az ajánló adataival kerülnek elküldésre a levelek.

Egyik ügyfelünknél felmerült az igény, hogy egy form kitöltése után automatikusan küldjünk ki egy email-t csatolmánnyal együtt.

A probléma megoldására a régebbről ismert HtmlMimeMail PHP osztályt használtam.

Nagyon jól megszerkesztett osztály úgyhogy nagyon könnyű használni, ám Drupal alatt mégsem lehetett alkalmazni a leírásban olvastakat.

Az első problémát az jelentette, hogy nem lehetett az osztályt beilleszteni, illetve objektumot készíteni belőle. Egyszerűen kifagyott tőle a Drupal és fehér képernyő jelent meg. Szerencsére van olyan verziója is, amitől nem jelentkezik ez a probléma.

Innen telölthető zip-el tömörítve (20 KB): HtmlMimeMail Drupal.

Miután ez megoldódott nagyjából a HtmlMimeMail oldalán található leírásokat kellett alkalmazni néhány dolgot kivéve.

Először egy ellenőrzés arról, hogy nem-e létezik már az osztály:

  1.       if (!class_exists('htmlMimeMail') && !class_exists('Mail_mimePart')) {
  2.         require_once(dirname(__FILE__)."/htmlmimemail/htmlMimeMail.php");
  3.       }

Utána a szokásos eljárást követve létrehozzuk az objektumot, és beállítjuk a karakterkódolást is, hiszen a Drupal UTF-8 -at használ

  1.       $mail = new htmlMimeMail();
  2.       $mail->setTextCharset('UTF-8');
  3.       $mail->setHtmlCharset('UTF-8');
  4.       $mail->setHeadCharset('UTF-8');

A setFrom() setSubject() és a setText() vagy setHTML() beállítása ugynúgy történik mint általában:

  1.       $mail->setFrom($_POST["offer_name"] . " <" . $_POST["offer_email"] . ">");
  2.       $mail->setSubject('Ezt nézd meg');
  3.       $mail->setText($uzenet);   // Ha text levelt kuldunk
  4.       $mail->setHTML($uzenet); // Ha HTML levelet kuldunk

Na ezután jöhetett a csatolmány hozzárendelése! A HtmlMimeMail weboldalán a következőt olvashatjuk:

  1. $mail->addAttachment(new fileAttachment('example.zip', 'application/zip', new Base64Encoding()));

Ez sajnos hibát generál, mivel nem létezik a FileAttachement osztály, így nincs miből objektumot létrehozni.
A megoldást a következő eljárás jelentette:

  1.       $filename = $node->field_nyitolap_top10_latvany[0]['filepath'];
  2.       $attachment = '';
  3.  
  4.       if ($fp = fopen($filename, 'rb')) {
  5.         while (!feof($fp)) {
  6.           $attachment .= fread($fp, filesize($filename));
  7.         }
  8.       }
  9.       fclose($fp);

Így a csatolmány egyből bekerült a levélbe!

Végül be kell állítani a fejlécet és elküldeni:

  1.       $mail->setHeader('Date',date('D, d M y H:i:s 0'));
  2.       $mail->setHeader('X-Mailer','Drupal');
  3.       $mail->send(array('<' . $_POST["offered_email_$i"] . '>'),'mail');

És tökéletesen működik a csatolmány elküldése Drupal alatt.