Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaÁgnes Péterné Megváltozta több, mint 10 éve
1
Tömeges levelezés, avagy az e-mail marketing technikai kérdései
Rózsa Ferenc 2005. Kecskemét
2
Az előadás főbb pontjai
Az marketingről Felmerülő piaci igény PHP megoldások a levélküldésre Python megoldás, mint tömeges levélküldés Skálázási probléma Címlista karbantartása (problémák)
3
E-mail marketingről E-mail címlista (saját vagy lista tulajdonos)
Biztosíték, hogy a címek léteznek és jók hírlevél formája (design) HTML és text verzióban Tartalom (saját készítésű vagy vásárolt) Kiküldés módja (kiküldő szoftver) Címlista karbantartása (adatok frissítése, feliratkozás, leiratkozás, visszapattanó címek kezelése)
4
marketingről Demográfia: nők vagy férfiak? Életkor? Lakhely? Iskolai végzettség? Érdeklődési kör? Médiafogyasztási szokások (hagyományos és online)? Életstílus kérdések? Havi juttatások? Mi a termékkel kapcsolatos hozzáállásuk? Mikor célszerű a célcsoportot megszólítani (napszak, nap, hét, hónap)?
5
Küldendő levél tulajdonságai
Esztétikus megjelenés a célcsoporttól függően HTML levél esetén színek kezelése A levél a lehető legkisebb legyen méretileg Ne lépje át a SPAM küszöbértéket (a fogadó szerver ne kezelje SPAM-nak) A belső tartalom „szabadon” szerkeszthető legyen
6
Felmerülő piaci igény Minél olcsóbb legyen a megoldás
Bármikor kéznél legyen az alkalmazandó vívmány Tartalom szerkesztés területén a lehető legnagyobb szabadság Egyszerű kezelhetőség
7
PHP megoldások a levélküldésre
mail() saját forráskódban /nagy mennyiségű levél kiküldésére nem alkalmas) különböző levelezési osztályok alkalmazása (timeout probléma) levelezési listák alkalmazása (nem alkalmas marketingre, illetve nem használható a dinamikus tartalom) Akkor mi a megoldás?
8
PHP levélküldő osztályok
htmlMim PHPMailer MIME Mail and SMTP Classes …………………
9
Megoldási lehetőség Küldendő levél előállítása, benne jelezve a dinamikus tartalom Dinamikus tartalmat tartalmazó állomány előállítása A levélküldést elvégző script elkészítése Levelek kiküldését elvégző script elkészítése Levélküldés ütemezése Címlista karbantartása (folyamatos tevékenység)
10
Küldendő levél elkészítése
Sablonok használata javasolt, tartalomtól függően Belső tartalom elkészítésre a lehető legnagyobb szabadság biztosítása (WYSIWYG) Szükséges mentések elkészítése (levél tartalma, dinamikus tartalom, ütemezési feladat, esetlegesen weboldalon található archívum) Linkek kezelése
11
PinEdit szerkesztő
12
PinEdit előnyei Felhasználók számára ismerős felület (Microsoft Office, StarOffice, OpenOffice) Könnyen megtanulható Szerkesztési, megtekinthetőségi, forrás közvetlen szerkesztési lehetőség A generált forráskód a szabványoknak tökéletesen megfelel Reguláris kifejezés tökéletesen illeszthető a forrásra Gazdag paraméterezési lehetőség (cél könyvtárak, megnyitandó állomány, megjelenítendő gombok, funkciók) Adatbázis támogatás Viszonylag sok böngésző támogatása Többnyelvűsíthető felület
13
Dinamikus tartalom //cimek.txt valami1@domain.hu valami2@domain.hu
//dinamikus_tartalom.txt István Miska
14
Maga a levélküldés //levelkuldes.sh for i in `cat cimek.txt` do
echo $i > tmp.txt cat mail.txt >> tmp.txt ./korlevel.py < tmp.txt sleep 3 done
15
Python, mint segítség //körlevel.py import smtplib import string
def prompt(prompt): return raw_input(prompt) toaddrs = prompt("To: ") msg = ("From: %s\r\nTo: %s\r\n" % ("Valaki
16
Python, mint segítség while 1: try: line = raw_input().strip()
except EOFError: break msg = msg + line + "\r\n" print msg
17
Python, mint segítség server = smtplib.SMTP('smtp.kefo.hu')
server.set_debuglevel(1) toaddrs, msg) server.quit()
18
Levél küldési ütemezés
Operációs rendszer használata Ütemezést végreható állomány szerkesztése Gondoskodni kell a megfelelő állomány megfelelő helyre kerüléséről
19
Címlista karbantartása
Tanítható rendszer kidolgozása Lehető legnagyobb biztonsági szint elérése Különböző kódlapok figyelembevétele (ISO , UTF-8, stb.) Nyelvek figyelembevétele SPAM levelek kiszűrése Visszapattanó levelek osztályozása Levelező szerver megkérdezése
20
Visszapattanó levelek kezelése
Figyelembe vehető dolgok: tárgy, tartalom Tárgy és tartalom indexelése (pl.: szavak alapján) A szükséges szavak betanítása a rendszernek Dinamikus reguláris kifejezések létrehozása, tárgy és tartalom mezőre illesztése
21
Szerver megkérdezése Kommunikációs csatorna megnyitása a levelező szerverhez (220=READY, 250=OK) Levél küldésének eljátszása (ki küldi az üzenetet, kinek küldjük az üzenetet) A válasz elemzése, vizsgálata (250)
22
Szerver megkérdezése …………… $sock=fsockopen($mailserver_adress,25);
if($sock) { //küldőszerver beköszön (azonosítás) $say="HELO DOMAIN.HU"; echo "<br>SAY: ".$say; fputs($sock,$say); //smtp válasz feldolgozása $answer=""; $answer=fgets($sock,4); echo "<br>ANS: ".$answer; //250=OK a 220=READY, ha nem ezeket adja vissza, gondja van
23
Szerver megkérdezése if($answer!="250" && $answer!="220") {
//kapcsolat bezárása $say="QUIT <CRLF>"; fputs($sock,$say); fclose($sock); return false; }
24
Szerver megkérdezése //levélküldés eljátszása //a küldő:
$say="MAIL FROM: <>"; echo "<br>SAY: ".$say; fputs($sock,$say); //itt több válasz is lehet, de lényegében mindegy, mit válaszol $answer=""; $answer=fgets($sock); echo "<br>ANS: ".$answer;
25
Szerver megkérdezése if($answer!="250" && $answer!="220"&&!strchr($answer,$mailhost)) { $say="QUIT <CRLF>"; fputs($sock,$say); fclose($sock); return false; }
26
Szerver megkérdezése //a címzett:
$say="RCPT TO: -> hostName.":".$this-> .">"; echo "<br>SAY: ".$say; fputs($sock,$say); //smtp válasza $answer=""; $answer=fgets($sock); echo "<br>ANS: ".$answer;
27
Szerver megkérdezése if($answer!="250") { $say="QUIT <CRLF>";
fputs($sock,$say); fclose($sock); return false; } //kapcsolat bezárása return true;
28
Szerver megkérdezése else { //ha fsock nem tud kapcsolódni
echo "Nem tudok kapcsolódni"; return false; } ……………
29
Skálázás, terheltség Egy levél általában 85-100 Kbyte méretű
Pl.: 3 millió levél Összes küldendő méret: ~286 Gbyte Küldési idő: kb.: 35 nap Sok idő, nagy mennyiség 1 db szerver esetén Megoldás: több szerver igénybevétele
30
Felhasznált eszközök PHP (adatbázis kezelés, PHPMailer, szükséges állományok létrehozása) Python (küldési feladatok elvégzése, végleges marketinglevél előállítása) Cron (ütemezési feladatok) PinEdit (WYSIWYG, belső tartalom szerkesztése)
31
Köszönöm a figyelmet!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.