PHP va MySQL-da pochta ro'yxati. Kechiktirilgan pochta jo'natmalari uchun PHP skripti

Lasto Post Woodpecker v5.01 elektron pochtaga xatlarni avtomatik ommaviy yuborishning elektron pochta marketingini tashkil qilish uchun skriptni yuklab oling

Xarakterli:

Skript MySQL ma'lumotlar bazasini va ilovalarni cron jadvalida ishga tushirish xizmatini talab qilmaydi va shuning uchun hatto bepul serverlarda ham ishlaydi. Bir qatordagi harflar soni har qanday bo'lishi mumkin, hech qanday cheklovlar yo'q. Mustaqil ishlaydigan xizmatlar soni cheklanmagan. Istaganingizcha turli xil elektron pochta xabarnomalarini yaratish qobiliyati va ularning har biri uchun o'z katalogingizni yaratishingiz shart emas.
To'g'ridan-to'g'ri veb-interfeys orqali siz bir necha soniya ichida ma'lum bir pochta ro'yxatiga yangi xat qo'shishingiz mumkin, ammo xat oldindan tayyorlanishi kerak va bu xabar darhol ushbu xizmatning ilgari qabul qilingan barcha abonentlariga o'z sayohatini boshlaydi. ushbu seriyadagi harflarning to'liq to'plami.

Grafiklarni biriktirish mumkin.
- Boshqarish qulayligi: administrator paneli nima qilishini va qaysi fayl bilan batafsil yozadi.
- Xizmatning "oqilona" harakati: skriptning o'zi serverda barcha kerakli fayllarni yaratadi, shuningdek ularni boshqaradi, kerak bo'lganda ularni o'zgartiradi va o'chiradi. Statistikani va amalga oshirilgan harakatlar jurnalini yuritadi.
- O'ylangan boshqaruv paneli: yaratish yangi xizmat Avtomatik pochta jo'natmalarini bir necha marta bosish orqali amalga oshirish mumkin.
- Xostingga individual yondashish: xosting tomonidan qo'yilgan shartlarga qarab, elektron pochta trafigining intensivligini nazorat qilish mumkin (bir vaqtning o'zida ko'p xatlarni yoki kichik qismlarda, lekin kun davomida yuborish). Ba'zi xosting kompaniyalari daqiqada birdan ortiq xat yuborishga ruxsat bermaydi (spamdan himoya), ammo bu holatda ham skriptimiz o'z maqsadini bajaradi.
- Resurs veb-ustasi tomonidan PHP tilini bilish talablari yo'q. PHP tilini bilish foydali bo'lsa ham...

Ikkinchi versiyaga kiritilgan yaxshilanishlar:

Crohn'ni eng oddiy tarzda ulash.
- Bir vaqtning o'zida berilgan xizmat yoki bir nechta xizmatlarning barcha abonentlariga xabar yuborish.
- Qulayroq boshqaruv paneli (barcha hisobotlarning ko'p sahifali chiqishi).
- Elektron pochta ro'yxatlarini import va eksport qilish. Foydalanuvchi nomlari bilan elektron pochta ma'lumotlar bazalarini import qilish imkoniyati (masalan, aqlli javob beruvchidan olingan).

Uchinchi versiyaga kiritilgan yaxshilanishlar:

Har qanday formatdagi cheksiz miqdordagi qo'shimchalarni amalga oshirdi.
- Elektron pochta ro'yxatini import qilish mexanizmi yaxshilandi.
- O'rnatilgan ma'lumotlar bazasini tiklash xizmati.
- Ma'lumotlar bazasini avtomatik zahiralash (zaxiralash) uchun moslashtirilgan xizmat qo'shildi.
- Obuna dinamikasi bo'yicha statistik ma'lumotlarni olish uchun o'rnatilgan modul.
- Endi ma'lum bir elektron pochta manzilini barcha yoki ayrim xizmatlardan chiqarib tashlash mumkin. Nomaqbul xatti-harakatlari bo'lgan foydalanuvchilar axborot byulleteniga obuna bo'lganda kerak.

4-versiyaga kiritilgan yaxshilanishlar:

Foydalanuvchi o'z elektron pochtasiga yuborilgan maxsus havolani bosish orqali obunani tasdiqlashi kerak. Agar bunday tasdiq olinmasa, skript sizga obunani yana bir necha marta tasdiqlashni eslatadi.
- Webmaster obuna uchun ba'zi elektron pochta domenlarini bloklashi mumkin. Misol uchun, Rambler pochta serveri ko'plab avtomatik pochta jo'natuvchilardan kelgan xatlarni spam deb hisoblaydi.
- Ketma-ket harflar bilan ishlash algoritmi o'zgartirildi.
- Skriptni vaqtincha o'chirib qo'yish, uni yoqgandan so'ng, ushbu muddatga qadar yuborilishi kerak bo'lgan xatlar ko'chkisini yaratmaydi - xatlar kerakli vaqt oralig'ida chiroyli va olijanob ravishda chiqib ketadi.
- Xuddi shu seriyaning har ikki qo'shni harflari orasidagi intervalni o'zboshimchalik bilan belgilash mumkin.
- Foydalanuvchilar faqat vaqtinchalik ma'lumotlar bazasi bilan ishlaydi va asosiysiga kirish imkoniga ega emas.
- Ma'lumotlar bazalarini sinxronlashtirish skript orqali amalga oshiriladi, boshqa hech kim.
- Axborot byulletenlari xizmati butunlay qayta ishlandi - bu endi mustaqil vazifa.
- Axborot byulletenlari bo'yicha statistik ma'lumotlar yaratildi - veb-master endi axborot byulletenining qaysi bosqichida ekanligini, umumiy xatlar soni, nechta yuborilgani, qanchasi qolganini ko'radi.
- Jadval bo'yicha jo'natish imkoniyati qo'shildi (ma'lum bir sana yetganida axborot byulletenini ishga tushiring).
- Yuboruvchi veb-masterni ishda yuzaga kelgan qiyinchiliklar haqida xabardor qilish tizimi bilan jihozlangan. Agar serverda nosozlik bo'lsa, webmaster bu haqda darhol elektron pochta orqali bilib oladi.
- Endi siz pochta ro'yxatidan obunani bekor qilishingiz va elektron pochta interfeysi orqali obunangizni tasdiqlashingiz mumkin.
- Cron orqali zahirani faollashtirganingizda, siz xizmatlarning holati bo'yicha kunlik statistikaga ega bo'lasiz. Skript hisobot yaratadi va uni to'g'ridan-to'g'ri elektron pochtangizga yuboradi.
- Obuna dinamikasi bo'limi grafik hisobotlar bilan to'ldirildi.

Beshinchi (rivojlanayotgan) versiyaga kiritilgan yaxshilanishlar:

Xakerlar tomonidan login va parolni taxmin qilish uchun foydalaniladigan avtomatik dasturlardan himoya joriy etildi.
- Avtorizatsiya jarayoniga administratorning elektron pochtasiga tasodifiy bir martalik kodni yaratish va yuborishning qo'shimcha bosqichi qo'shildi, bu haqda ma'lumotsiz administrator paneliga kirish mumkin emas.
- Administrator panelidagi sahifalar oʻrtasida navigatsiya qilishda login yoki parol xeshlari endi ishlatilmaydi.
- Brauzer keshini tozalash (yoki trafikni ushlab turish) sizga xavfsizlik nuqtai nazaridan hech qanday tahdid solmaydi.
- Ma'lumotlar bazasi tuzilishi endi sukut bo'yicha oldindan belgilanmagan. To'g'ridan-to'g'ri skript kodiga kiritilgan maxsus kalit yordamida shifrlash usulini o'zingiz o'zgartirasiz. Kalit veb-interfeysda ko'rinmaydi va uni ko'rish yoki o'zgartirish mumkin emas.



Siz bizning veb-saytimizda joylashtirilgan dasturiy ta'minotni mutlaqo bepul yuklab olishingiz mumkin, biz javobgar emasmiz va u sizning talablaringizga javob berishi va ish tartibida ekanligiga kafolat bermaymiz, aksariyat hollarda u tuzatishlar va tuzatishlarni talab qiladi. Uning ishlashidagi xatolarni tuzatish, xostingga o'rnatish, konfiguratsiya bizning mas'uliyatimizga kirmaydi va dasturchimiz xizmatlari uchun alohida to'lov uchun amalga oshiriladi.

Internetda ko'plab bepul xizmatlar mavjud. Jumladan, abonentlarga xat yuborish xizmatlari. Ulardan ba'zilari juda yaxshi. Ammo ular bepul bo'lgani uchun, bu reklama harflarda paydo bo'lishini anglatadi. Xizmat vakilining logotipi tushirilgan katta obuna blankalari esa ko‘pchilikni qoniqtirmaydi.

Xo'sh, nima uchun pochta ro'yxati uchun oddiy vosita yozmaysiz va o'zingiz xat yubormaysiz?

Keling, buning uchun nima kerakligini aniqlaylik. Tashrifchilar sizning axborot byulleteningizga obuna bo'lish imkoniyatiga ega bo'lishlari uchun sizga manzilingizni kiritish uchun shakl kerak. Elektron pochta. Manzilni kiritganingizdan so'ng uni eslab qolishingiz kerak. Keling, manzillarni faylga saqlaymiz maillist.txt har bir satrda bitta manzil. Manzil saqlanganidan keyin xabarni ko'rsatamiz va boshqa manzilga obuna bo'lish yoki mavjudni o'chirish uchun shaklni ko'rsatamiz. Bu deyarli hammasi. Faqat xat yuborish qobiliyatini qo'shish qoladi. Xavfsizlik uchun keling, harflarni yuborish qobiliyati uchun parol o'rnatamiz - parolni kiritish uchun ariza talab qilinadi. Keyinchalik, jo'natuvchining manzili va mavzusini, shuningdek matnning o'zini to'ldirish uchun shakllar kerak bo'ladi. Va nihoyat, xatlarni yuboradigan skriptning o'zi. Va endi hammasi joyida.

Elektron pochta manzilini kiritish shakli faqat manzilni kiritish oynasi va tasdiqlash tugmasidan iborat bo'ladi:

ras.php"entype=" ko'p qismli/shakl-ma'lumotlar">

topshirish" value="obuna">!}

Shunday qilib, matn kiritish oynasida elektron pochta nomi va ko'rinadigan uzunligi 30 belgidan iborat bo'lgan elektron pochta manzili kiritiladi. Obuna bo'lish degan tugmani bosgandan so'ng, manzil skriptga o'tkaziladi ras.php pochta ro'yxatiga qo'shilishi kerak.

Keyinchalik, skriptni ko'rib chiqaylik ras.php elektron pochta manzilini faylda saqlaydi, natija va obuna va obunani bekor qilish shakllari haqida xabarni ko'rsatadi. Skript juda sodda tarzda bajarilishi mumkin - manzilni saqlang, tegishli xabarni ko'rsating. Ammo muammolar paydo bo'lishi mumkin: kimdir tasodifan bir necha marta obuna bo'lishi mumkin, kimdir xat yozishi va manzil maydoniga noto'g'ri belgi kiritishi yoki ataylab bema'nilik kiritishi mumkin. Bunday holda, pochta ro'yxati ifloslanadi va noto'g'ri manzillar skriptdagi xatolarga olib keladi. Xulosa aniq - manzilni saqlashdan oldin uni elektron pochta manzilini nomlash standartlariga muvofiqligini tekshirishingiz kerak. pochta qutilari, shuningdek, pochta ro'yxatida mavjudligi. Kodni qismlarga bo'lib ko'rmaslik uchun kodning o'zida sharhlar beraman:

$fayl = " maillist.txt"; // manzillarni o'z ichiga olgan fayl

xato_hisoboti(0); // mumkin bo'lgan xatolar haqida xabarlarni ko'rsatishni o'chirib qo'ying

test_mail funktsiyasi ($char) // manzilning haqiqiyligini tekshiradigan funksiya
{
$ bayroq = yolg'on;
if(eregi("^[_\.0-9a-z-]+@([-0-9a-z\.]+)\.((2,3)$)", $char )) $bayroq = rost;
agar ($ bayroq) qaytsa rost;
boshqa qaytib yolg'on;
}

$email = trim(strtolower($email )); // kiriting
// shakl manzili bilan
// kichik harflar

copy_mail funksiyasi($char) // ma'lumotlar bazasida shunday manzil mavjudligini tekshiring
{
$fayl = " maillist.txt";
$ro'yxat = fayl ($fayl);
uchun ($i = 0; $i< sizeof ($list ); $i++ )
agar ($char == trim($list [$i ])) $bayroq = rost;

Agar ($flag) qaytsa rost;
boshqa qaytib yolg'on;
}

aks-sado"

";

Agar (is_file($file )) // keyin yuqorida tavsiflangan funksiyalar yordamida manzilni tekshiring
{
$pochta roʻyxati = fayl($fayl);
agar (!$email == "") (
agar (test_mail($email )) (
agar (!copy_mail($email ))
{
$maillist = "\n$elektron pochta ";
chop etish "E-mail: $email pochta roʻyxati qoʻshildi

";
}
else chop "E-mail: $email allaqachon ma'lumotlar bazasida";
}
else chop "E-pochta: $email mavjud emas";
}
boshqa chop "";
}
else print "$fayl topilmadi! Iltimos menga xabar bering men xato haqida.";
// obuna va obunani bekor qilish taklifi bilan ekranda shaklni ko'rsatish
aks-sado "
Bizning axborot byulletenimizga obuna bo'ling
";
echo "Pochtani kiriting:
";

aks-sado"



";
echo "Pochta ro'yxatidan obunani bekor qilish
Pochtani kiriting:";
aks-sado "
";
// agar foydalanuvchi obunani bekor qilishga qaror qilsa, kiritilganlarni o'chiring manzil
$ bayroq = yolg'on;
$fw = fopen($fayl, " w");
uchun ($i = 0; $i< sizeof ($maillist ); $i++ )
agar (trim(strtolower($delmail )) == trim(strtolower($maillist [$i ]))) (
agar (!$delmail == "")
{
chop etish "
$delmail pochta ro'yxatidan olib tashlandi
";
$ bayroq = rost;
}
}
else fputs($fw , $maillist [$i ]); // kiritilgan manzil ma'lumotlar bazasida yo'q
fclose($fw);
agar (!$delmail == "")
agar (!$flag ) chop eting "
$delmail pochta ro'yxatida topilmadi
";
?>

Mana bizning manzillarni saqlash va o'chirish uchun kodimiz tayyor. Endi biz pochta jo'natish vositalari haqida g'amxo'rlik qilishimiz kerak. Biz Outlook orqali yubormaymiz, shunday emasmi? Yuqorida aytib o'tilganidek, biz parol bilan yuborish imkoniyatini himoya qilamiz, uni maxsus shaklga kiritamiz:

out.php">
o'tish"qiymat="">

Kirish maydoni pass deb nomlanadi va parolni kiritish uchun ishlatiladi. Kirish degan tugmani bosgandan so'ng parol skriptga o'tadi out.php:

$subject = "Mening saytim axborotnomasi"; // pochta mavzusi
$fromemail = "my@sovun"; // sizning manzilingiz (javoblar uchun)
$fayl = " maillist.txt"; // obunachilar manzillari ro'yxati
$parol = "maxfiy parol"; // pochta uchun parolingiz

agar ($pass == $parol) // agar parol to'g'ri kiritilgan bo'lsa
// keyin formani kiritish maydonlari bilan ko'rsating:
// jo'natuvchining manzili, xat matni, xatning tanasi
// yuborish tugmasi
// tugmani bosgandan so'ng, ma'lumotlarni skriptga o'tkazing
send.php
{
aks-sado "
";
echo "jo'natuvchining manzili

";
echo "elektron pochta mavzusi
";
aks-sado "
xat matni:
";
aks-sado "
";
chop etish " Ma'lumotlar bazasida ". sizeof($maillist) ." manzillar

";
uchun ($i = 0; $i< sizeof ($maillist ); $i ++) print $maillist [$i ]. "
";
}
// agar parol noto'g'ri bo'lsa, uni qayta kiriting
boshqa aks-sado "
";

Ko'rib chiqish uchun faqat bitta skript qoldi - pochta jo'natish uchun:

$odr = "\n\n\n Obunani bekor qilish uchun havoladan foydalaning\n";
$homepage = "http://site.address/ras.php";

Xato_hisoboti(0);
$subject = $HTTP_POST_VARS["mavzu"];
$body = $HTTP_POST_VARS["tana"];
$mavzu = chiziq chizig'i ($subject );
$tana = chiziqlar qirrasi($tana);

$fayl = " maillist.txt";
$pochta roʻyxati = fayl($fayl);

"Ma'lumotlar bazasida" chop eting. sizeof($maillist )." manzillari
";
uchun ($i = 0; $i< sizeof ($maillist ); $i ++)
{
#echo($pochta roʻyxati [$i ]."
");
pochta ($pochta roʻyxati [$i ], $subject ,
$body ."$odr $homepag ?delmail=$maillist [$i ]",
"Kimdan: $fromemail ");
}
echo "Bajarildi!";

Bu erda hamma narsa oddiy: biz oldingi shaklda kiritilgan qiymatlarni olamiz va ularni har bir manzilga navbat bilan yuboramiz.

Bu umuman qiyin emas! Endi sizda o'z pochta ro'yxatini yuritish uchun kuchli vosita mavjud. Siz uchun boshqa qoidalar yo'q. Axborot byulleteningizga xohlagan narsani yozing. Obuna shakllarining konfiguratsiyasi va ko'rinishida to'liq erkinlik.

Albatta, bu kod faqat minimal to'plamdir. Masalan, pochta funksiyasidan foydalanib, siz o'zingiz uchun yangi abonent haqida bildirishnomani tashkil qilishingiz va obunachiga muvaffaqiyatli ro'yxatdan o'tganligi haqida aytib berishingiz va axborot byulletenlari haqida ko'proq ma'lumot berishingiz mumkin.

Albatta, men to'liq erkinlik haqida gapirganda, men majburiy obunani nazarda tutmaganman? yoki oddiyroq aytganda, spam. Agar to'satdan kimdir spamni shu tarzda yuborishga qaror qilsa, u holda hosting ma'muriyati darhol bu haqda shikoyat qilishni boshlashini hisobga olsin. Xostingning pulli yoki to'lanmaganligi muhim emas, agar xosting ma'muriyati bunday harakatlarni sezsa, yo'qotishlarni qoplamasdan sizga o'z xizmatlarini ko'rsatishni bekor qiladi. Va bepul xosting bilan bu yanada qiyinroq. Birinchidan, ushbu funktsiyani ochish uchun ma'muriyatdan shaxsiy ruxsat so'rashingiz kerak, ikkinchidan, qoida tariqasida, daqiqada 1 harf chegarasi mavjud. Xullas, janoblar spamerlar, ketinglar :)

Keling, shunday quvnoq eslatma bilan yakunlaylik.




Agar sizda boshqa savollar bo'lsa yoki biror narsa aniq bo'lmasa - bizning sahifamizga xush kelibsiz

Assalomu alaykum, aziz do'stlar!
Oxirgi maqolada men o'zingizning pochta xizmatingiz yoki pochta skriptingiz haqida bir oz to'xtalib o'tdim. Mavzu juda qizg'in, chunki... Smartresponder ishlamayapti va ko'pchilik Internet foydalanuvchilari uning o'rnini qidirmoqda. Afsuski, teng Smartresponderlar yo'q va ehtimol hech qachon bo'lmaydi! Axborot byulleteni yoki uni hozir moda deb atash mumkin, elektron pochta marketingi biznes yuritishning eng samarali vositasidir. Oddiyroq qilib aytadigan bo'lsak, mavzuingizga qiziqqan odamlarni yig'masdan, axborot byulletenini yubormasdan turib, biron bir brendni targ'ib qila olmaysiz. Qiziqarli odamlar auditoriyasini to'plash va ularni mavzu bo'yicha yo'naltirish uchun sizga pochta ro'yxati xizmati, xatlarni ommaviy yuborish xizmati kerak. Oxirgi maqolada, aniqrog'i videoda men o'zlarining pochta xizmatlarini taklif qiladigan saytlarni ko'rsatdim va qisqacha ko'rib chiqdim. Ko'p takliflar mavjud va BU YERDA jumboq boshlanadi, ayniqsa yangi boshlanuvchilar uchun. Narxlari baland, narxi ozmi-ko‘pmi qulay bo‘lgan joyda noqulayliklar ko‘p. Ba'zan xizmatlar haqiqiy narxni yashiradi, ya'ni. Ular past tariflarni e'lon qiladilar va shu tariqa ko'proq foydalanuvchilarni jalb qilishga, ularni pul evaziga targ'ib qilishga harakat qilishadi. Shunday qilib, birinchi harakat: Siz arzon narxga yoki boshqa foydali taklifga tushib qoldingiz.

Siz hisob ochasiz, ma'lumotlar bazasini o'tkazasiz, barcha suratga olish sahifalarini qayta tiklaysiz, saytlaringizdagi maqolalardagi havolalarni to'g'rilaysiz, obuna bo'lish shakllari (havolalari) mavjud bo'lgan barcha yozuvlar va mahsulotlarni tahrir qilasiz. Bir so'z bilan aytganda, siz ajoyib ish qilyapsiz. Siz yangi pochta platformasi bilan ishlashda ishtirok etdingiz va bu erda qiziqarlilik boshlanadi. Ikkinchi harakat: reklama kampaniyasini olib boradigan pochta xizmati Internet foydalanuvchilarining bexabarligi va e'tiborsizligiga tayanadi. Siz ma'lumotlar bazasiga xat yuborasiz, ikkinchisini tayyorlaysiz... Ma'lum bo'lishicha, sizning tarif rejangiz o'z imkoniyatlarini tugatib bo'lganligi sababli endi ikkinchi xabarni yubora olmaysiz. Ma'lum bo'lishicha, tarif rejasi tavsifida mumkin bo'lgan harflar soni juda kam yozilgan. Arzonlik aniq yuborish cheklovlarini yoki xat chegarasini yashiradi. Boshqa xat yuborish uchun siz qo'shimcha miqdordagi yuklarni sotib olishingiz kerak va bu kutilmagan xarajat. Natijada sizni yana bir bor zo'rlashdi. Shaxsan men munosib pochta xizmatini topa olmadim: narx yorlig'i yoki asboblar to'plamiga ega funksionallik yoki ingliz tili yoki har bir harfni qo'lda moderatsiya qilish yoki .... Ammo eng xavfli narsa bu siz uzoq vaqt va qat'iyat bilan to'plagan bazani shunchaki yo'qotish ehtimoli.
Men uzoq vaqtdan beri "o'z pochta xizmati" mavzusi haqida o'yladim. Smart u erda bo'lsa-da, mavzu juda qizg'in emas edi. Men skriptlarni qidira boshladim. Men BOX-MAIL, keyin Muskrat yoki mail Woodpecker bilan boshladim va bir nechta plaginlarni sinab ko'rdim. LEKIN, ishlaganimdan so'ng, men oddiy xostingda o'z pochta xizmatini yaratish haqiqiy emasligini angladim. Bilasizmi, SPAMerlarning ishi kuchayib ketdi va Internetda ushbu noqonuniy faoliyatga xalaqit beradigan juda ko'p narsalar paydo bo'ldi. Bu, birinchi navbatda, qonuniy ravishda to'plangan ma'lumotlar bazasiga pochta jo'natmalarini yuborishga harakat qiladigan vijdonli odamlarga ta'sir qiladi. Provayderlar pochta trafigiga kvotalar kiritdilar. Kuniga 100-500 ta xat xatlarni ommaviy yuborishni ta'minlay olmaydi. O'zingizning "so'nggi yangiliklar" ni yuborish ancha vaqt talab qilishi mumkin, ya'ni. Sizning obuna ro'yxatining oxiri haqidagi yangiliklaringiz endi ahamiyatli bo'lmaydi! Xulosa (mening fikrimcha) - oddiy xosting saytlaridan ommaviy pochta jo'natish muhim emas. Bu erda men bir necha yil oldin menga kelgan va hatto uni sinab ko'rgan MailWizz skriptini esladim. Ammo keyin Smart bor edi! O'sha paytda ajratilgan serverlarning narxi ancha yuqori edi - avval ish to'xtatildi, keyin esa skript mavjudligi shunchaki unutildi. Hayot tomog'imga qadam bosgandagina esladim. Men ma'lumot to'plash uchun vaqt sarflashim kerak edi. Bizning biznesimizning o'ziga xos xususiyati - foydali narsalarni sir bilan qoplashdir. Panelni ko'rib chiqishdan tashqari, hech narsa topilmadi. Skriptning o'zi ingliz tilida - Russifier kerak edi. Tajriba bor, bilim yetarli - muammo hal bo'ldi. Va endi sizning pochta xizmatingiz sozlangan va allaqachon ishlamoqda. Bu qanday ishlashini ko'rish uchun videoni tomosha qilish yaxshiroqdir:


Shunday qilib, shaxsiy pochta xizmatining afzalliklari:

- mustaqillik va natijada vaziyatning ustasi bo'lish imkoniyati. Xohlasam yuboraman, hohlasam yubormayman.
- cheksiz miqdordagi harflar
- ajoyib vositalar to'plami


— ishlash qulayligi va qulay navigatsiya paneli


- oddiy o'rnatish va sozlash qulayligi
- tejash. Bir marta to'lang va umringiz davomida foydalaning.

Har kim o'z tanlovini qiladi. Asosiysi, baza HAMMA NARSA ekanligini unutmang! Bizning daromadimiz obuna ro'yxatiga bog'liq - qancha obunachi bo'lsa, shuncha ko'p pul topamiz. Faoliyatimizning mavzusi yoki yo'nalishi bazaga ega bo'lish ustuvorligiga ta'sir qilmaydi.

Internetda ko'plab bepul xizmatlar mavjud. Jumladan, abonentlarga xat yuborish xizmatlari. Ulardan ba'zilari juda yaxshi. Ammo ular bepul bo'lgani uchun, bu reklama harflarda paydo bo'lishini anglatadi. Xizmat vakilining logotipi tushirilgan katta obuna blankalari esa ko‘pchilikni qoniqtirmaydi.

Xo'sh, nima uchun pochta ro'yxati uchun oddiy vosita yozmaysiz va o'zingiz xat yubormaysiz?

Keling, buning uchun nima kerakligini aniqlaylik. Tashrifchilar sizning axborot byulleteningizga obuna bo'lish imkoniyatiga ega bo'lishlari uchun sizga elektron pochta manzilingizni kiritish uchun ariza kerak bo'ladi. Manzilni kiritganingizdan so'ng uni eslab qolishingiz kerak. Keling, manzillarni maillist.txt faylida saqlaylik, har bir satrda bitta manzil. Manzil saqlanganidan keyin xabarni ko'rsatamiz va boshqa manzilga obuna bo'lish yoki mavjudni o'chirish uchun shaklni ko'rsatamiz. Bu deyarli hammasi. Faqat xat yuborish qobiliyatini qo'shish qoladi. Xavfsizlik uchun keling, harflarni yuborish qobiliyati uchun parol o'rnatamiz - parolni kiritish uchun ariza talab qilinadi. Shuningdek, jo'natuvchining manzili va mavzusini, shuningdek matnning o'zini to'ldirish uchun shakllar kerak bo'ladi. Va nihoyat, xatlarni yuboradigan skriptning o'zi. Va endi hammasi joyida.

Elektron pochta manzilini kiritish shakli faqat manzilni kiritish oynasi va tasdiqlash tugmasidan iborat bo'ladi:


Shunday qilib, matn kiritish oynasida elektron pochta nomi va ko'rinadigan uzunligi 30 belgidan iborat bo'lgan elektron pochta manzili kiritiladi. Obuna bo'lish tugmachasini bosgandan so'ng, manzil pochta ro'yxatiga kiritish uchun ras.php skriptiga o'tkaziladi.

Keyinchalik, ras.php skriptini ko'rib chiqamiz, u elektron pochta manzilini faylda saqlaydi, natija haqida xabarni va obuna va obunani bekor qilish shakllarini ko'rsatadi. Skript juda sodda tarzda bajarilishi mumkin - manzilni saqlang, tegishli xabarni ko'rsating. Ammo muammolar paydo bo'lishi mumkin: kimdir tasodifan bir necha marta obuna bo'lishi mumkin, kimdir matn terish xatosi va manzil maydoniga noto'g'ri belgi kiritishi mumkin. Bunday holda, pochta ro'yxati ifloslanadi va noto'g'ri manzillar skriptdagi xatolarga olib keladi. Xulosa aniq - manzilni saqlashdan oldin uni elektron pochta qutisi manzillari nomlari bo'yicha standartlarga muvofiqligini, shuningdek, pochta ro'yxatida mavjudligini tekshirishingiz kerak. Kodni qismlarga bo'lib ko'rmaslik uchun kodning o'zida sharhlar beraman:

$fayl = "maillist.txt"; // manzillarni o'z ichiga olgan fayl error_reporting(0); // mumkin bo'lgan xatolar haqida xabarlarni ko'rsatishni o'chirib qo'ying test_mail($char) // manzilning haqiqatini tekshiradigan funksiya ( if (preg_match("/^[_\.0-9a-z-]+@([-) 0-9a-z \.]+)\.((2,3)$)/", $char)) true qaytaring; false qaytaring; ) // formaga kichik harflar bilan kiritilgan manzilni oling $email = trim (strtolower($elektron pochta)); copy_mail($char) // maʼlumotlar bazasida shunday manzil mavjudligini tekshiring ( global $file; $list = file($file); for ($i = 0; $i)< sizeof ($list); $i++) if ($char == trim($list[$i])) return true; return false; } echo "

"; agar (is_file($file)) // keyin yuqorida tavsiflangan funksiyalar yordamida manzilni tekshiring ( $maillist = file($file); if (!$email == "") ( if (test_mail($email)) ( agar (! copy_mail($email)) ( $maillist = "\n$email"; chop etish "E-mail: $email pochta roʻyxati qoʻshildi"
"; ) else print "E-mail: $email allaqachon ma'lumotlar bazasida"; ) else "E-mail: $email mavjud emas"; ) aks holda chop eting ""; ) else "Fayl $file topilmadi! Iltimos menga xabar bering men xato haqida."; // obuna bo'lish va obunani bekor qilish taklifi bilan shaklni ko'rsatish echo "
Bizning axborot byulletenimizga obuna bo'ling
"; echo "Pochtani kiriting:
"; aks-sado "


"; echo "Obunani bekor qilish
Pochtani kiriting:"; echo "
"; // agar foydalanuvchi obunani bekor qilishga qaror qilsa, kiritilgan manzilni o'chiring $flag = false; $fw = fopen($file, "w"); for ($i = 0; $i< sizeof ($maillist); $i++) if (trim(strtolower($delmail)) == trim(strtolower($maillist[$i]))) { if (!$delmail == "") { print "
$delmail pochta ro'yxatidan olib tashlandi
"; $flag = true; ) ) else fputs($fw, $maillist[$i]); // kiritilgan manzil ma'lumotlar bazasida yo'q fclose($fw); if (!$delmail == "") agar (!$ bayrog'i) chop etish "
$delmail pochta ro'yxatida topilmadi
";

Mana bizning manzillarni saqlash va o'chirish uchun kodimiz tayyor. Endi biz pochta jo'natish vositalari haqida g'amxo'rlik qilishimiz kerak. Biz Outlook orqali yubormaymiz!?. Yuqorida aytib o'tilganidek, biz parol bilan yuborish imkoniyatini himoya qilamiz, uni maxsus shaklga kiritamiz:


Kirish maydoni pass deb nomlanadi va parolni kiritish uchun ishlatiladi. Enter tugmasini bosgandan so'ng, parol out.php skriptiga o'tkaziladi:

$subject = "Mening saytim axborotnomasi"; // pochta mavzusi $fromemail = "my@sovun"; // sizning manzilingiz (javoblar uchun) $file = "maillist.txt"; // abonentlar manzillari ro'yxati $password = "secretpassword"; // pochta ro'yxati uchun parolingiz, agar ($_POST["pass"] == $password) // agar siz kiritgan parol to'g'ri bo'lsa // unda biz kiritish maydonlari bilan shaklni ko'rsatamiz: // jo'natuvchining manzili, xat matni, harf tanasi // yuborish tugmasi // tugmani bosgandan so'ng biz ma'lumotlarni send.php skriptiga o'tkazamiz ( echo "


"; echo "jo'natuvchining manzili

"; echo "mavzu qatori
"; aks-sado "
xat matni:
"; aks-sado "
"; chop etish " Ma'lumotlar bazasida ". sizeof($maillist) ." manzillar

"; uchun ($i = 0; $i< sizeof ($maillist); $i++) print $maillist[$i]. "
"; ) // agar parol noto'g'ri bo'lsa, uni qayta kiriting, aks holda echo "
";

Ko'rib chiqish uchun faqat bitta skript qoldi - pochta jo'natish uchun:

$odr = "\n\n\n Obunani bekor qilish uchun havoladan foydalaning\n"; $homepage = "http://site.address/ras.php"; xato_hisoboti(0); $subject = $HTTP_POST_VARS["mavzu"]; $body = $HTTP_POST_VARS["tana"]; $mavzu = chiziq chizig'i ($mavzu); $tana = chiziqlar qirrasi($tana); $fayl = "maillist.txt"; $pochta roʻyxati = fayl($fayl); "Ma'lumotlar bazasida" ni chop eting. sizeof($maillist)." manzillari
"; uchun ($i = 0; $i< sizeof ($maillist); $i++) { #echo($maillist[$i]."
"); mail($maillist[$i], $subject, $body ."$odr $homepag?delmail=$maillist[$i]", "Kimdan:<$fromemail>"); ) echo "Bajarildi!";

Bu erda hamma narsa oddiy: biz oldingi shaklda kiritilgan qiymatlarni olamiz va ularni har bir manzilga navbat bilan yuboramiz.

Mualliflik huquqi Vladislav Putyak http://ru-coding.com/. O'zgartirishlar va qo'shimchalar

PHP Newsletter - bu sizning veb-saytingizdan elektron pochta xabarlarini, har qanday ma'lumotni tashkil qilish uchun elektron pochta sotuvchisi vositasi. Skriptni ishlatish oson, o'rnatish oson, konfiguratsiyada universal va minimal xosting talablari mavjud. PHP axborot byulleteni PHP tilida yozilgan bo‘lib, toifalar bo‘yicha saralangan pochta ro‘yxatini yaratish, harflar shablonlarining vizual muharriri, xatlarni qo‘shimchalari bilan jo‘natish, SMTP serveri orqali jo‘natish, elektron pochta manzillari ma’lumotlar bazasini import/eksport qilish kabi ko‘plab foydali funksiya va funksiyalarga ega. elektron pochta sotuvchisi uchun obunachilarni boshqarish, avtomatik javob berish, pochta statistikasi va boshqalar.
Talab

PHP 5.3 va undan yuqori
- MySQL ma'lumotlar bazasi 4.1 va undan yuqori
-Mail()
-Iconv
- MB String
- Zip

Imkoniyatlar

PHP Newsletter elektron pochta xabarnomalarini yaratish, yuborish va kuzatish uchun kerak bo'lgan hamma narsaga ega. Xususiyatlarni o'z ichiga oladi:

  • Qulay WYSIWYG muharriri

O'rnatilgan WYSIWYG muharriri harf shablonlarini yaratish va tahrirlash imkonini beradi. Siz matnni formatlashingiz, rasmlarni yuklashingiz va qo'shishingiz, havolalar qo'shishingiz va boshqa ko'p narsalarni qilishingiz mumkin.

  • smtp server, mail() va sendmail orqali xat yuborish

PHP axborot byulleteni xatlarni PHP standart mail() funktsiyasi orqali ham, rozetkalar yoki sendmail pochta uzatish agentlari yordamida smtp serveri orqali ham yuborishi mumkin;

  • Avtomatik javob beruvchi

Siz pochta ro'yxatlarini yaratishingiz mumkin, keyinchalik ular jadvalga muvofiq ma'lum tartibda avtomatik ravishda yuboriladi. Sizga kerak bo'lgan yagona narsa - cronni sozlash va pochta ro'yxatini yaratish.

  • Obunani bekor qilish opsiyasi bilan axborot byulleteniga obuna shakli

PHP Newsletter axborot byulleteniga obuna yaratish va obunani bekor qilish shakllarini yaratish imkonini beradi. Siz veb-saytingizga forma qo'shishingiz mumkin, buning uchun formaning html kodini veb-saytingizga joylashtiring.

  • Pochta formatini tanlash (oddiy va html)

O'rnatilgan elektron pochta shablon muharriri yordamida jozibali HTML harflar yoki oddiy matnli elektron pochta xabarlarini yaratishingiz mumkin.

  • Ko'pgina ma'lum kodlashlarni qo'llab-quvvatlaydi

PHP Newsletter 35 dan ortiq turli milliy belgilar to'plamini qo'llab-quvvatlaydi.

  • Qo'shimchani qo'shish va yuborish

Skript qo'shimchalarni yuklab olish va yuborish uchun to'liq yordamni o'z ichiga oladi.

  • Pochta ro'yxatiga standart ustunlikni qo'shish (ommaviy, keraksiz yoki ro'yxat) va ro'yxat-obunani bekor qilish sarlavhalari

E-pochtalaringiz spam sifatida tasniflanishining oldini olish uchun pochta ro'yxatlariga Precedence (ommaviy, keraksiz yoki ro'yxat) va ro'yxat-obunani bekor qilish sarlavhalarini qo'shish tavsiya etiladi.

  • Elektron pochta sarlavhasiga DKIM imzosini qo'shish

Qonuniy elektron pochtani tasniflash va identifikatsiyalash sifatini yaxshilash uchun PHP Newsletter yuborilgan xatlar sarlavhalariga DKIM imzosini (domen nomi bilan bog‘langan raqamli imzo qo‘shish orqali elektron pochta jo‘natuvchisini autentifikatsiya qilish texnologiyasi) qo‘shish imkonini beradi.

  • Harflarni shaxsiylashtirish

Elektron pochta xabarlarini shaxsiylashtirish elektron pochtani qabul qiluvchida birinchi taassurot qoldirishning eng samarali usullaridan biridir, chunki statistik ma'lumotlarga ko'ra, shaxsiylashtirilgan elektron pochta xabarlari ochilishi va o'qilishi ehtimoli ko'proq. Elektron pochta shabloniga teg qo'shing NAME va u avtomatik ravishda abonent nomi bilan almashtiriladi.

  • Cheksiz pochta ro'yxatini yarating
  • Abonentlar ro'yxatini boshqarish

Veb-interfeys orqali siz obunachilar ro'yxatini boshqarishingiz mumkin: obunachilarni ko'rish, qo'shish, tahrirlash va o'chirish.

  • Elektron pochta manzillarini import/eksport qilish

PHP Newsletter elektron pochta manzillarini import va eksport qilish vositasini taqdim etadi. Siz oddiy matn yoki MS Excel faylidan ma'lumotlarni import qilishingiz, shuningdek, ma'lumotlarni matn va MS Excel fayliga eksport qilishingiz mumkin.

  • Pochta jurnali

Har bir pochta jo'natmasi uchun yuborilgan va yuborilmagan xatlar soni bo'yicha batafsil statistik ma'lumotlar kiritiladi. Shuningdek, siz qancha foydalanuvchi elektron pochtani ochganligi haqida ma'lumot olishingiz mumkin. Bundan tashqari, siz statistik ma'lumotlarni MS Excel fayliga eksport qilishingiz mumkin.

  • Administratordan veb-interfeys

Pochta ro'yxatini boshqarish va boshqarish uchun sizga veb-interfeys orqali kirish mumkin bo'lgan qulay va ishlatish uchun juda oson boshqaruv paneli taqdim etiladi. Ko'p sonli sozlamalar tizimni sizning talablaringizga tezda moslashtirishga imkon beradi.

  • O'rnatish ustasi

O'rnatishni veb-brauzeringizdan ishga tushirish oson. Ma'lumotlar bazasiga kirishni kiritishingiz va o'rnatishni davom ettirishingiz kerak va o'rnatish ustasi barcha kerakli amallarni bajaradi.

4.1.x versiyasida nima yangiliklar

O'rnatish

  • Tarqatishni veb-saytingizning istalgan katalogiga, masalan, "/phpnewsletter" ga oching, uni ildizga o'rnatishingiz mumkin;
  • Brauzeringizga yozib o'rnatish ustasini ishga tushiring: http://your_site/pack_with_script/install/;
  • O'rnatish jarayonidan so'ng "/phpnewsletter/install/" katalogini o'chiring.

*Agar biron sababga ko'ra o'rnatish ustasidan o'rnatolmasangiz, skriptni qo'lda o'rnatishingiz mumkin.

  • MySQL ma'lumotlar bazasi jadvallari SQL so'rovini dump.sql faylidan joylashtiring. Buni veb-interfeys orqali, masalan, ko'pchilik xosting provayderlari tomonidan taqdim etilgan phpMyAdmin orqali qilish osonroq.

Jadvallarni ma'lumotlar bazasiga joylashtirganingizdan so'ng, istalgan matn muharririda config/default.config.php faylini oching va MySQL ma'lumotlar bazasiga ulanish parametrlarini kiriting. bu yerda $PNSL["config"]["db"]["host"] – MySQL server manzili, $PNSL["config"]["db"]["name"] - ma'lumotlar bazasi nomi, $PNSL["config " ]["db"]["user"] – foydalanuvchi nomi, $PNSL["config"]["db"]["passwd"] – parol. Uni config.php nomi ostida saqlang Administrator paneliga kirish uchun 1111 parolini kiriting

Sozlamalar

  • Veb-sahifangizga axborot byulleteniga obuna shaklini qo'shing
$url = "http://your_site/phpnewsletter/?task=subform""; $get_content = file($url); $get_content = implode($get_content, "\r\n"); preg_match("/
(.*)<\/div>/isU", $get_content, $out); echo $out;
  • Oddiy statik veb-sahifalar uchun HTML kodini joylashtiring:
Ism
Elektron pochta
  • Smtp server orqali tarqatishni sozlash

Axborot byulletenlarini smtp serveri orqali yuborish uchun quyidagi amallarni bajaring. Administrator paneliga o'ting, so'ng "Sozlamalar" bo'limiga va "SMTP server" yorlig'ida smtp serverini, loginni, parolni va smtp server portini belgilang (standart 25) "Yuborish usuli" - SMTP serverini tanlang.

  • Mail.ru orqali xat yuborishni sozlash

Administrator elektron pochtasi: [elektron pochta himoyalangan]
Pochta qutisiga kirish: [elektron pochta himoyalangan]
Parol: qwerty
smtp serveri: smtp.mail.ru
Server smtp porti: 25
Autentifikatsiya usuli: LOGIN

  • Gmail orqali elektron pochta xabarlarini yuborishni sozlash

Administrator elektron pochtasi: [elektron pochta himoyalangan]
Pochta qutisiga kirish: [elektron pochta himoyalangan]
Parol: qwerty
smtp serveri: smtp.gmail.com
Server smtp porti: 465

Autentifikatsiya usuli: LOGIN
Yuborish usuli: SMTP serveri

  • Yandex pochta orqali xat yuborishni sozlash

Administrator elektron pochtasi: [elektron pochta himoyalangan]
Pochta qutisiga kirish: vasyapupkin
Parol: qwerty
smtp serveri: smtp.yandex.ru
Server smtp porti: 465
Xavfsiz ulanish (SSL) orqali ulanish: Ha
Autentifikatsiya usuli: LOGIN
Yuborish usuli: SMTP serveri
DKIM imzosini qo'shing

Birinchidan, siz DKIM kalitini yaratishingiz kerak. Keling, http://dkim.worxware.com/createkeys.php onlayn xizmatidan foydalanaylik

"Domen" maydonida domeningizni ko'rsating va "Identifikatsiya" maydonida "E-mail" da PHP Newsletter sozlamalarida ko'rsatgan elektron pochta manzilini ko'rsating. Shaklning barcha maydonlarini to'ldirgandan so'ng, "Yuborish" tugmasini bosing, shundan so'ng zip arxiviga havola paydo bo'ladi. Arxivni kompyuteringizga yuklab olish uchun ushbu havolani bosing va keyin uni oching. Unda 4 ta fayl boʻlishi kerak: .htkeyprivate (maxfiy kalit), .htkeypublic (ochiq kalit), DNS _resource_record.txt va PHPM ailer_code_plus_instructions.txt. .htkeyprivate faylini keyprivate papkasidagi veb-serverga nusxalash.

PHPMailer_code_plus_instructions.txt faylini oching. Keyin ma'muriyat paneliga o'ting, "Pochta variantlari" yorlig'idagi "Sozlamalar" bo'limida "DKIM imzo sozlamalari" maydonida PHPMailer_code_plus_instructions.txt da ko'rsatilgan qiymatlarni to'ldiring. “Imzolangan domen” maydoniga $mail- >DKIM_domain, “Selector” maydoniga $mail->DKIM_selector, “Kalit so‘z” maydoniga $mail->DKIM_passphrase va “Imzolangan identifikator” qatoriga kiriting. ” maydoniga “E-mail” sozlamalarida ko‘rsatilgan elektron pochta manzili “E-pochta sarlavhasiga DKIM imzosini qo‘shish” katagiga belgi qo‘ying va “qo‘llash” tugmasini bosing.

Bu hali hammasi emas. Yuboruvchi serverining haqiqiyligini DNS yozuvi orqali tasdiqlash uchun siz DNS konfiguratsiyasidagi txt yozuviga DKIM qo'shishingiz kerak. Buning uchun siz domen boshqaruv paneliga o'tishingiz kerak (buni amalga oshirish uchun siz ushbu domen uchun administrator huquqlariga ega bo'lishingiz kerak). Ushbu yozuvning qiymatini DNS _resource_record.txt faylidan olamiz.

P.S. Skript haqida ko'proq ma'lumot olish uchun manba readme-ni o'qing.



 

O'qish foydali bo'lishi mumkin: