Lista de corespondență în PHP și MySQL. Script PHP pentru corespondență întârziată Mail mail php

Descărcați un script pentru organizarea marketingului prin e-mail a trimiterii automate în masă a scrisorilor către e-mail Lasto Post Woodpecker v5.01

Caracteristică:

Scriptul nu necesită o bază de date MySQL și un serviciu pentru lansarea aplicațiilor pe un program cron și, prin urmare, funcționează chiar și pe servere gratuite. Numărul de litere dintr-o serie poate fi oricare, nu există restricții. Numărul de servicii care funcționează independent este nelimitat. Posibilitatea de a crea câte serii diferite de buletine informative prin e-mail doriți și nici măcar nu trebuie să vă creați propriul director pentru fiecare dintre ele.
Direct prin interfața Web, puteți adăuga o nouă scrisoare la o anumită listă de corespondență în câteva secunde, dar scrisoarea trebuie pregătită în avans, iar acest mesaj își va începe imediat călătoria către toți abonații acestui serviciu care au primit anterior un set complet de scrisori din această serie.

Este posibil să atașați grafică.
- Ușurință în administrare: panoul de administrare scrie în detaliu ce face și cu ce fișier.
- Comportamentul „rezonabil” al serviciului: scriptul în sine creează toate fișierele necesare pe server și, de asemenea, le gestionează, modificându-le și ștergându-le dacă este necesar. Păstrează statistici și un jurnal al acțiunilor întreprinse.
- Panou de administrare atent: creați serviciu nou Trimiterea automată se poate face în doar câteva clicuri.
- Abordare individuală a găzduirii: în funcție de condițiile stabilite de hoster, este posibil să se controleze intensitatea traficului de e-mail (trimite mai multe scrisori deodată, sau în porțiuni mici, dar pe parcursul zilei). Unele companii de hosting nu vă permit să trimiteți mai mult de o scrisoare pe minut (protecție împotriva spamului), dar și în acest caz, scriptul nostru își va îndeplini scopul.
- Nu există cerințe pentru cunoașterea PHP de către webmasterul resursei. Deși cunoașterea PHP este utilă...

Îmbunătățiri incluse în a doua versiune:

Conectarea lui Crohn în cel mai simplu mod.
- Trimiterea unui mesaj către toți abonații unui anumit serviciu sau mai multor servicii simultan.
- Panou de administrare mai convenabil (ieșire pe mai multe pagini a tuturor rapoartelor).
- Import și export de liste de e-mail. Abilitatea de a importa baze de date de e-mail cu nume de utilizator (de exemplu, preluate de la un răspuns inteligent).

Îmbunătățiri incluse în a treia versiune:

A implementat un număr nelimitat de atașamente de orice format.
- Mecanism îmbunătățit de import a listei de e-mail.
- Serviciu de recuperare a bazei de date încorporat.
- S-a adăugat un serviciu personalizabil pentru backup automat al bazei de date (backup).
- Modul încorporat pentru obținerea de statistici privind dinamica abonamentului.
- Acum este posibil să excludeți o anumită adresă de e-mail din toate sau unele servicii. Este necesar atunci când utilizatorii cu comportament neadecvat se abonează la newsletter.

Îmbunătățiri incluse în versiunea 4:

Utilizatorul trebuie să-și confirme abonamentul făcând clic pe un link special trimis la adresa sa de e-mail. Dacă o astfel de confirmare nu este primită, scriptul vă va reaminti ulterior să confirmați abonamentul de mai multe ori.
- Webmasterul poate bloca unele domenii de e-mail pentru abonament. De exemplu, serverul de e-mail de la Rambler consideră că scrisorile de la mulți e-maileri automate sunt spam.
- Algoritmul de lucru cu litere de serie a fost modificat.
- Dezactivarea temporară a scenariului nu va crea, după pornirea acestuia, o avalanșă de scrisori care ar fi trebuit să fie trimise până la acest termen - scrisorile vor pleca decor și nobil la intervalul necesar.
- Intervalul dintre fiecare două litere adiacente ale aceleiași serii poate fi setat în mod arbitrar.
- Utilizatorii lucrează doar cu baza de date temporară și nu au acces la cea principală.
- Sincronizarea bazelor de date se realizează printr-un script și nimeni altcineva.
- Serviciul de buletin informativ a fost complet reproiectat - aceasta este acum o sarcină independentă.
- S-au creat statistici despre buletine informative - webmasterul vede acum în ce stadiu se află buletinul informativ, numărul total de scrisori, câte au fost trimise, câte au mai rămas.
- S-a adăugat posibilitatea de a trimite într-un program (lansează un buletin informativ când este atinsă o anumită dată).
- Sender este echipat cu un sistem de notificare a webmasterului despre dificultățile întâlnite în lucrare. Dacă există o defecțiune pe server, webmasterul va afla imediat despre aceasta prin e-mail.
- Acum vă puteți dezabona de pe lista de corespondență și vă puteți confirma abonamentul prin interfața de e-mail.
- Când activați o copie de rezervă prin Cron, veți avea statistici zilnice despre starea serviciilor. Scriptul va genera un raport și îl va trimite direct pe e-mailul dvs.
- Secțiunea de dinamică a abonamentului a fost completată cu rapoarte grafice.

Îmbunătățiri incluse în cea de-a cincea versiune (în evoluție):

A fost introdusă protecția împotriva programelor automate utilizate de hackeri pentru a ghici autentificarea și parola.
- La procesul de autorizare a fost adăugată o etapă suplimentară de generare și trimitere aleatorie a unui cod unic la adresa de e-mail a administratorului, fără a se cunoaște că accesul la panoul de administrare este imposibil.
- Când navigați între pagini din panoul de administrare, codurile hash pentru autentificare sau parole nu mai sunt folosite.
- Evidențierea memoriei cache a browserului (sau interceptarea traficului) nu vă amenință în niciun fel din punct de vedere al securității.
- Structura bazei de date nu mai este predeterminată prin setările implicite. Dumneavoastră schimbați metoda de criptare cu o cheie specială introdusă direct în codul de script. Cheia nu este vizibilă în interfața web și nu poate fi vizualizată sau modificată.



Puteți descărca software-ul postat pe site-ul nostru complet gratuit, nu suntem responsabili și nu garantăm că îndeplinește cerințele dumneavoastră și că este în stare de funcționare; în cele mai multe cazuri va necesita ajustări și corecții. Corectarea erorilor în funcționarea sa, instalarea pe găzduire, configurarea nu este inclusă în responsabilitățile noastre și se efectuează pentru o plată separată pentru serviciile programatorului nostru.

Există multe servicii gratuite pe Internet. Inclusiv servicii pentru trimiterea de scrisori către abonați. Unele dintre ele sunt foarte bune. Dar din moment ce sunt gratuite, înseamnă că reclamele apare în litere. Și mulți oameni nu sunt mulțumiți de formularele mari de abonare cu sigla reprezentantului serviciului.

Deci, de ce să nu scrieți un motor simplu pentru lista dvs. de corespondență și să trimiteți scrisori pe cont propriu?

Să ne dăm seama de ce avem nevoie pentru asta. Pentru ca vizitatorii să aibă posibilitatea de a se abona la newsletter-ul dvs., aveți nevoie de un formular pentru a vă introduce adresa. E-mail. După ce ați introdus adresa, trebuie să o amintiți. Să salvăm adresele într-un fișier maillist.txt o adresă pe linie. Odată ce adresa a fost salvată, să afișăm un mesaj și să afișăm un formular pentru abonarea la o altă adresă sau ștergerea uneia existente. Asta e aproape tot. Tot ce rămâne este să adăugați posibilitatea de a trimite scrisori. Pentru securitate, să setăm o parolă pentru capacitatea de a trimite scrisori - este necesar un formular pentru a introduce parola. În continuare, veți avea nevoie de formulare pentru a completa adresa și subiectul expeditorului, precum și pentru textul în sine. Și, în sfârșit, scenariul în sine, care va trimite scrisori. Și acum totul este în ordine.

Formularul pentru introducerea unei adrese de e-mail va consta doar dintr-o fereastră pentru introducerea adresei și un buton de confirmare:



!}

Deci, în fereastra de introducere a textului, cu numele e-mail și o lungime vizibilă de 30 de caractere, va fi introdusă o adresă de e-mail. După ce faceți clic pe butonul care spune abonați-vă, adresa va fi transferată în script ras.php pentru a fi adăugate pe lista de corespondență.

În continuare, să ne uităm la scenariu ras.php care va salva adresa de e-mail într-un fișier, va afișa un mesaj despre rezultat și formulare de abonare și dezabonare. Scriptul poate fi executat destul de simplu - salvați adresa, afișați mesajul corespunzător. Dar pot apărea probleme: cineva se poate abona accidental de mai multe ori, cineva poate face o greșeală de tipar și introduce un caracter nevalid în câmpul de adresă sau poate introduce în mod deliberat prostii. În acest caz, lista de corespondență va deveni poluată, iar adresele incorecte vor duce la erori în script. Concluzia este clară - înainte de a salva o adresă, ar trebui să verificați dacă este conformă cu standardele de denumire a adreselor de e-mail cutii poştale, precum și disponibilitatea în lista de corespondență. Pentru a nu privi codul în părți, voi da comentarii în codul în sine:

$file = " maillist.txt"; // fișier care conține adrese

raportare_eroare(0); // dezactivează afișarea mesajelor despre posibile erori

Funcția test_mail($char) // funcție care verifică realitatea adresei
{
$flag = fals;
if(eregi("^[_\.0-9a-z-]+@([-0-9a-z\.]+)\.((2,3)$)", $car )) $flag = Adevărat;
dacă ($flag) revine Adevărat;
altfel revin fals;
}

$email = trim(strtolower($email )); // intrați în
// formular adresa cu
// caractere mici

Funcția copy_mail($char) // verifică dacă o astfel de adresă există în baza de date
{
$file = " maillist.txt";
$list = fisier($fisier);
pentru ($i = 0; $i< sizeof ($list ); $i++ )
dacă ($car == trim($listă [$i ])) $flag = Adevărat;

Dacă ($flag) revine Adevărat;
altfel revin fals;
}

Ecou"

";

Dacă (este_fișier($fișier)) // apoi verificați adresa folosind funcțiile descrise mai sus
{
$maillist = fisier($fisier);
dacă (!$email == "") (
dacă (test_mail($email )) (
dacă (!copy_mail($email ))
{
$maillist = "\n$email";
print "E-mail: lista de corespondență $email adăugată

";
}
else print "E-mail: $email este deja în baza de date";
}
else print "E-mail: $email nu există";
}
altfel printeaza "";
}
else print "Fișierul $fișier nu a fost găsit! Vă rugăm să-mi dai de veste eu despre eroare.";
// afișează pe ecran un formular cu o propunere de abonare și dezabonare
ecou"
Aboneaza-te la newsletter-ul nostru
";
echo „Introduceți e-mail:
";

Ecou"



";
echo „Dezabonați-vă de la lista de corespondență
Introdu e-mail:";
ecou"
";
// dacă utilizatorul decide să se dezaboneze, ștergeți cele introduse abordare
$flag = fals;
$fw = fopen($fișier , " w");
pentru ($i = 0; $i< sizeof ($maillist ); $i++ )
if (trim(strtolower($delmail ))) == trim(strtolower($maillist [$i ]))) (
dacă (!$delmail == "")
{
imprimare "
$delmail a fost eliminat din lista de corespondență
";
$flag = Adevărat;
}
}
else fputs($fw , $maillist [$i ]); // adresa introdusă nu se află în baza de date
fclose($fw);
dacă (!$delmail == "")
dacă (!$flag ) se imprimă "
$delmail nu a fost găsit în lista de corespondență
";
?>

Iată codul nostru pentru salvarea și ștergerea adreselor este gata. Acum trebuie să avem grijă de mijloacele de trimitere a corespondenței. Nu vom trimite prin Outlook, nu-i așa? După cum sa menționat deja, vom proteja capacitatea de a trimite cu o parolă, pe care o vom introduce într-un formular special:




Câmpul de introducere se numește pass și va fi folosit pentru a introduce o parolă. După ce faceți clic pe butonul care spune enter, parola va fi transmisă scriptului afară.php:

$subject = "Buletinul informativ al site-ului meu"; // subiect de corespondență
$fromemail = "sapunul meu@"; // adresa ta (pentru răspunsuri)
$file = " maillist.txt"; // lista adreselor abonaților
$parolă = "parolă secretă"; // parola dvs. pentru e-mail

dacă ($pass == $parolă ) // dacă parola a fost introdusă corect
// apoi afișează formularul cu câmpuri de intrare:
// adresa expeditorului, textul scrisorii, corpul scrisorii
// buton pentru a trimite
// după ce faceți clic pe butonul, transmiteți datele scriptului
trimite.php
{
ecou"
";
echo „adresa expeditorului

";
echo „subiectul e-mailului
";
ecou"
textul scrisorii:
";
ecou"
";
imprimare " În baza de date ". sizeof($maillist) ." adrese

";
pentru ($i = 0; $i< sizeof ($maillist ); $i ++) print $maillist [$i ]. "
";
}
// dacă parola este incorectă, vă rugăm să o introduceți din nou
altfel ecou"
";

Mai rămâne un singur script de luat în considerare - cel care va trimite e-mail:

$odr = "\n\n\n Pentru a vă dezabona, utilizați linkul\n";
$homepage = "http://site.address/ras.php";

Raportare_eroare(0);
$subiect = $HTTP_POST_VARS[„subiect”];
$corp = $HTTP_POST_VARS[„corp”];
$subiect = bare oblice($subiect );
$body = stripslashes($corp );

$file = " maillist.txt";
$maillist = fisier($fisier);

Tipăriți „În baza de date”. sizeof($maillist)." adrese
";
pentru ($i = 0; $i< sizeof ($maillist ); $i ++)
{
#echo($maillist [$i ]."
");
mail($maillist [$i ], $subject ,
$body ."$odr $homepag ?delmail=$maillist [$i ]",
„De la: $fromemail”);
}
ecou „Gata!”;

Totul este simplu aici: primim valorile introduse în formularul anterior și le trimitem în ciclu pe rând către fiecare dintre adrese.

Nu este deloc greu! Acum aveți un instrument puternic pentru a vă rula propria listă de corespondență. Nu mai există reguli pentru tine. Scrie orice vrei în newsletter-ul tău. Libertate deplină în configurarea și apariția formularelor de abonament.

Desigur, acest cod este doar un set minim. De exemplu, folosind funcția de e-mail, puteți organiza o notificare pentru dvs. despre un nou abonat și puteți spune abonatului despre înregistrarea reușită și puteți spune mai multe despre newsletter.

Desigur, când vorbeam de libertate deplină, nu mă refeream în niciun caz la abonament forțat? sau, mai simplu spus, spam. Dacă dintr-o dată cineva decide să trimită spam în acest fel, atunci lăsați-l să ia în considerare că administrația de găzduire va începe imediat să se plângă de asta. Și nu contează dacă găzduirea este plătită sau nu, dacă administrația de găzduire observă astfel de acțiuni, va anula furnizarea serviciilor sale către dvs. fără compensație pentru pierderi. Și cu găzduirea gratuită este și mai dificil. În primul rând, trebuie să solicitați permisiunea personală de la administrație pentru a deschide această funcție, iar în al doilea rând, de regulă, există o limită de 1 literă pe minut. Deci, domnilor spammeri, coborâți :)

Să încheiem cu o notă atât de veselă.




Dacă aveți alte întrebări sau ceva nu este clar - bine ați venit pe site-ul nostru

Salutări, dragi prieteni!
În ultimul articol, m-am oprit puțin asupra problemei fierbinți a propriului serviciu de corespondență sau a scriptului de corespondență. Subiectul este foarte fierbinte, pentru că... Smartresponder încetează și majoritatea utilizatorilor de internet caută un înlocuitor. Din păcate, nu există Smartresponders egali și probabil că nu vor fi niciodată! Buletin informativ sau, cum este la modă să-l numim acum, marketingul prin e-mail este cel mai eficient instrument pentru a face afaceri. Pentru a spune mai simplu, nu poți promova niciun brand fără a aduna oameni interesați de subiectul tău, fără a trimite un newsletter. Pentru a aduna un public de persoane interesate și a-i ghida pe un subiect, aveți nevoie de un serviciu de liste de corespondență, un serviciu de trimitere în masă a scrisorilor. În ultimul articol, sau mai bine zis în videoclip, am arătat și făcut o mică prezentare generală a site-urilor care își oferă serviciile de corespondență. Sunt multe oferte și AICI începe puzzle-ul, mai ales pentru începători. Etichetele de preț sunt mari, iar acolo unde prețul este mai mult sau mai puțin accesibil, există o mulțime de inconveniente. Uneori serviciile ascund costul real, de ex. Ei declară tarife mici și, prin urmare, încearcă să atragă mai mulți utilizatori cu scopul suplimentar de a-i promova pentru bani. Și așa, acțiunea unu: ai căzut pentru un preț ieftin sau o altă ofertă avantajoasă.

Deschizi un cont, transferi baza de date, refac toate paginile de captare, corectezi link-urile din articolele de pe site-urile tale, editezi, daca este posibil, toate intrarile si produsele unde existau formulare (link-uri) pentru abonare. Într-un cuvânt, faci o treabă al naibii. Te-ai implicat în lucrul cu o nouă platformă de e-mail și de aici începe distracția. Acțiunea a doua: serviciul de corespondență, care desfășoară o campanie de publicitate, se bazează pe ignoranța și neatenția utilizatorilor de internet. Trimiți o scrisoare în baza de date, pregătiți una a doua... Se dovedește că nu mai puteți trimite un al doilea mesaj din cauza faptului că planul dvs. tarifar și-a epuizat deja capacitățile. Se pare că în descrierea planului tarifar numărul de litere posibile a fost scris foarte mic. Ieftinitatea ascunde tocmai restrictiile de trimitere sau limita de scrisori. Pentru a trimite o altă scrisoare, trebuie să achiziționați un număr suplimentar de transporturi, iar aceasta este o cheltuială neprevăzută. Drept urmare, ai fost violat încă o dată. Personal, nu am putut găsi un serviciu de corespondență decent: fie prețul, fie funcționalitatea cu un set de instrumente, fie limba engleză, fie moderarea manuală a fiecărei litere, sau... Dar cel mai periculos lucru este posibilitatea de a pierde pur și simplu baza pe care o adunați de mult timp și în mod persistent.
M-am gândit de mult timp la subiectul „serviciului propriu de corespondență”. Cât timp Smart era acolo, subiectul nu era foarte fierbinte. Am început să caut scenarii. Am început cu BOX-MAIL, apoi Muskrat sau mail Woodpecker și am încercat câteva plugin-uri. DAR, după ce am lucrat, mi-am dat seama că crearea propriului serviciu de corespondență pe găzduire obișnuită nu este realistă. Știți că munca SPAMers s-a intensificat și au apărut o mulțime de lucruri pe Internet care interferează cu această activitate ilegală. Acest lucru afectează în primul rând oamenii conștiincioși care încearcă legal să trimită e-mailuri către o bază de date colectată în mod legal. Furnizorii au introdus cote pentru traficul de corespondență. 100-500 de scrisori pe zi nu pot asigura expedierea în masă a scrisorilor. Trimiterea „știrilor de ultimă oră” poate dura destul de mult, de exemplu. Noutățile tale pentru finalul listei de abonament nu vor mai fi relevante! Concluzie (parerea mea) – corespondența în masă de la site-uri obișnuite de găzduire nu este relevantă. Aici mi-am amintit de scriptul MailWizz, care mi-a venit acum câțiva ani și chiar l-am testat. Dar apoi a fost Smart! Costul serverelor dedicate era destul de mare în acel moment - munca a fost mai întâi suspendată, iar apoi existența scriptului a fost pur și simplu uitată. Mi-am amintit doar când viața mi-a călcat pe gât. A trebuit să petrec timp culegând informații. Particularitatea afacerii noastre este de a învălui ceva util în mister. În afară de o revizuire a panelului, nu s-a putut găsi nimic. Scriptul în sine este în engleză - era nevoie de un rusificator. Există experiență, cunoștințe suficiente - problema este rezolvată. Și acum propriul serviciu de corespondență este configurat și funcționează deja. Este mai bine să urmăriți videoclipul pentru a vedea cum funcționează:


Și astfel, avantajele propriului serviciu de corespondență:

- independența și oportunitatea rezultată de a fi stăpânul situației. Îl trimit dacă vreau, nu îl trimit dacă vreau.
- număr nelimitat de litere
- un set minunat de instrumente


— ușurință în operare și panou de navigare convenabil


- instalare simplă și ușurință de configurare
- economisirea. Plătește o dată și folosește-l pentru tot restul vieții.

Fiecare face propria alegere. Principalul lucru este să nu uităm că baza este TOTUL! Că câștigurile noastre depind de lista de abonamente - Cu cât sunt mai mulți abonați, cu atât câștigăm mai mult. Tema sau nișa activității noastre nu afectează prioritatea de a avea o bază.

Există multe servicii gratuite pe Internet. Inclusiv servicii pentru trimiterea de scrisori către abonați. Unele dintre ele sunt foarte bune. Dar din moment ce sunt gratuite, înseamnă că reclamele apare în litere. Și mulți oameni nu sunt mulțumiți de formularele mari de abonare cu sigla reprezentantului serviciului.

Deci, de ce să nu scrieți un motor simplu pentru lista dvs. de corespondență și să trimiteți scrisori pe cont propriu?

Să ne dăm seama de ce avem nevoie pentru asta. Pentru ca vizitatorii să aibă posibilitatea de a se abona la newsletter-ul dvs., aveți nevoie de un formular pentru a vă introduce adresa de e-mail. După ce ați introdus adresa, trebuie să o amintiți. Să salvăm adresele în fișierul maillist.txt, câte o adresă pe rând. Odată ce adresa a fost salvată, să afișăm un mesaj și să afișăm un formular pentru abonarea la o altă adresă sau ștergerea uneia existente. Asta e aproape tot. Tot ce rămâne este să adăugați posibilitatea de a trimite scrisori. Pentru securitate, să setăm o parolă pentru capacitatea de a trimite scrisori - este necesar un formular pentru a introduce parola. Veți avea nevoie și de formulare pentru a completa adresa și subiectul expeditorului, precum și pentru textul în sine. Și, în sfârșit, scenariul în sine, care va trimite scrisori. Și acum totul este în ordine.

Formularul pentru introducerea unei adrese de e-mail va consta doar dintr-o fereastră pentru introducerea adresei și un buton de confirmare:


Deci, în fereastra de introducere a textului, cu numele e-mail și o lungime vizibilă de 30 de caractere, va fi introdusă o adresă de e-mail. După ce faceți clic pe butonul etichetat subscribe, adresa va fi transferată în script-ul ras.php pentru a fi inclusă în lista de corespondență.

În continuare, să ne uităm la scriptul ras.php, care va salva adresa de e-mail într-un fișier, va afișa un mesaj despre rezultat și formularele pentru abonare și dezabonare. Scriptul poate fi executat destul de simplu - salvați adresa, afișați mesajul corespunzător. Dar pot apărea probleme: cineva se poate abona accidental de mai multe ori, cineva poate face o greșeală de tipar și introduce un caracter nevalid în câmpul de adresă. În acest caz, lista de corespondență va deveni poluată, iar adresele incorecte vor duce la erori în script. Concluzia este clară - înainte de a salva o adresă, ar trebui să o verificați pentru conformitatea cu standardele pentru numele adreselor căsuțelor poștale electronice, precum și pentru prezența acesteia în lista de corespondență. Pentru a nu privi codul în părți, voi da comentarii în codul în sine:

$file = "maillist.txt"; // fișierul care conține adrese error_reporting(0); // dezactivează afișarea mesajelor despre posibile erori funcția test_mail($char) // funcție care verifică realitatea adresei ( if (preg_match("/^[_\.0-9a-z-]+@([-) 0-9a-z \.]+)\.((2,3)$)/", $char)) returnează adevărat; returnează fals; ) // obține adresa introdusă în formular cu caractere mici $email = trim (strtolower($email )); funcția copy_mail($char) // verifică dacă o astfel de adresă există în baza de date ( global $fișier; $listă = fișier($fișier); pentru ($i = 0; $i< sizeof ($list); $i++) if ($char == trim($list[$i])) return true; return false; } echo "

"; if (is_file($file)) // apoi verificați adresa utilizând funcțiile descrise mai sus ( $maillist = file($file); if (!$email == "") ( if (test_mail($email)) ( dacă (! copy_mail($email)) ( $maillist = "\n$email"; printează "E-mail: $email listă de corespondență adăugată
"; ) else print "E-mail: $email este deja în baza de date"; ) else print "E-mail: $email nu există"; ) else print""; ) else print "Fișierul $fișier nu a fost găsit! Vă rog să-mi dai de veste eu despre eroare."; // afișează un formular cu o propunere de abonare și dezabonare echo "
Aboneaza-te la newsletter-ul nostru
"; echo "Introduceți e-mail:
"; ecou"


"; echo "Dezabonare
Introdu e-mail:"; echo "
"; // dacă utilizatorul decide să se dezaboneze, șterge adresa introdusă $flag = false; $fw = fopen($fișier, "w"); pentru ($i = 0; $i< sizeof ($maillist); $i++) if (trim(strtolower($delmail)) == trim(strtolower($maillist[$i]))) { if (!$delmail == "") { print "
$delmail a fost eliminat din lista de corespondență
"; $flag = adevărat; ) ) else fputs($fw, $maillist[$i]); // adresa introdusă nu este în baza de date fclose($fw); if (!$delmail == "") dacă (!$ steag) imprimă "
$delmail nu a fost găsit în lista de corespondență
";

Iată codul nostru pentru salvarea și ștergerea adreselor este gata. Acum trebuie să avem grijă de mijloacele de trimitere a corespondenței. Nu vom trimite prin Outlook!?. După cum sa menționat deja, vom proteja capacitatea de a trimite cu o parolă, pe care o vom introduce într-un formular special:


Câmpul de introducere se numește pass și va fi folosit pentru a introduce o parolă. După ce faceți clic pe butonul care spune enter, parola va fi transmisă scriptului out.php:

$subject = "Buletinul informativ al site-ului meu"; // trimiterea subiectului $fromemail = "my@soap"; // adresa ta (pentru răspunsuri) $file = "maillist.txt"; // lista adreselor abonaților $password = "secretpassword"; // parola ta pentru lista de corespondență dacă ($_POST["pass"] == $parolă) // dacă parola introdusă este corectă // atunci afișăm un formular cu câmpuri de introducere: // adresa expeditorului, textul scrisorii, corpul literei // buton pentru trimitere // după ce facem clic pe butonul, transferăm datele în scriptul send.php ( echo "


"; echo "adresa expeditorului

"; echo "linie de subiect
"; ecou"
textul scrisorii:
"; ecou"
"; imprimare " În baza de date ". sizeof($maillist) ." adrese

"; pentru ($i = 0; $i< sizeof ($maillist); $i++) print $maillist[$i]. "
"; ) // dacă parola este incorectă, vă rugăm să o introduceți din nou, altfel echo "
";

Mai rămâne un singur script de luat în considerare - cel care va trimite e-mail:

$odr = "\n\n\n Pentru a vă dezabona, utilizați linkul\n"; $homepage = "http://site.address/ras.php"; raportare_eroare(0); $subiect = $HTTP_POST_VARS[„subiect”]; $corp = $HTTP_POST_VARS[„corp”]; $subiect = bare oblice($subiect); $body = stripslashes($corp); $file = "maillist.txt"; $maillist = fisier($fisier); printează „În baza de date”. sizeof($maillist)." adrese
"; pentru ($i = 0; $i< sizeof ($maillist); $i++) { #echo($maillist[$i]."
"); mail($maillist[$i], $subject, $body ."$odr $homepag?delmail=$maillist[$i]", "De la:<$fromemail>"); ) echo "Gata!";

Totul este simplu aici: primim valorile introduse în formularul anterior și le trimitem în ciclu pe rând către fiecare dintre adrese.

Drepturi de autor de Vladislav Putyak http://ru-coding.com/. Modificări și completări

PHP Newsletter este un instrument de marketing prin e-mail pentru organizarea buletinelor informative prin e-mail de pe site-ul dvs., orice informație. Scriptul este ușor de utilizat, ușor de instalat, universal în configurație și cu cerințe minime de găzduire. PHP Newsletter este scris în PHP, are multe funcții și caracteristici utile, precum crearea unei liste de corespondență sortate pe categorii, editor vizual de șabloane de scrisori, trimiterea de scrisori cu atașamente, trimiterea prin server SMTP, import/export al unei baze de date de adrese de e-mail, gestionarea abonaților, a mailingurilor cu răspuns automat, a statisticilor de corespondență și multe altele pentru un agent de marketing prin e-mail.
Cerinţă

PHP 5.3 și o versiune ulterioară
- Baza de date MySQL 4.1 și o versiune ulterioară
-Poștă()
-Iconv
- MB șir
- Zip

Posibilitati

Buletinul informativ PHP are tot ce aveți nevoie pentru a crea, trimite și urmări buletine informative prin e-mail. Include caracteristici:

  • Editor WYSIWYG convenabil

Editorul WYSIWYG încorporat vă permite să creați și să editați șabloane de scrisori. Puteți formata text, puteți încărca și introduce imagini, puteți adăuga linkuri și multe altele.

  • Trimiterea de scrisori prin server smtp, mail() și sendmail

PHP Newsletter poate trimite scrisori atât prin funcția standard PHP mail(), cât și printr-un server smtp folosind socket-uri sau agenți de transfer mail sendmail;

  • Autoresponder

Puteți crea liste de corespondență, care vor fi apoi trimise automat într-o anumită ordine, conform unui program. Tot ce aveți nevoie este să configurați cron și să creați o listă de corespondență.

  • Formular de abonare la newsletter cu opțiune de dezabonare

PHP Newsletter vă permite să creați formulare de abonare și dezabonare la newsletter. Puteți adăuga un formular pe site-ul dvs. web; pentru a face acest lucru, plasați codul html al formularului pe site-ul dvs.

  • Selectarea formatului de corespondență (pur și html)

Puteți crea scrisori HTML atractive sau e-mailuri text obișnuite folosind editorul de șabloane de e-mail încorporat.

  • Acceptă cele mai cunoscute codificări

Buletinul informativ PHP acceptă peste 35 de seturi naționale de caractere diferite.

  • Adăugarea și trimiterea unui atașament

Scriptul include suport complet pentru descărcarea și trimiterea atașamentelor.

  • Adăugarea de anteturi standard de Precedență (în bloc, nedorit sau listă) și antete de dezabonare la lista de corespondență

Pentru a preveni ca e-mailurile dvs. să fie clasificate ca spam, este recomandat să adăugați antete de prioritate (în bloc, nedorite sau listă) și liste-dezabonare la listele de corespondență.

  • Adăugarea unei semnături DKIM la antetul e-mailului

Pentru a îmbunătăți calitatea clasificării și identificării e-mailurilor legitime, PHP Newsletter vă permite să adăugați o semnătură DKIM (o tehnologie de autentificare a expeditorului unui e-mail prin adăugarea unei semnături digitale asociate unui nume de domeniu) la anteturile e-mailurilor trimise.

  • Personalizarea scrisorilor

Personalizarea e-mailurilor este una dintre cele mai eficiente modalități de a face o primă impresie bună destinatarului dvs. de e-mail, deoarece, din punct de vedere statistic, e-mailurile personalizate au mai multe șanse să fie deschise și citite. Adăugați o etichetă la șablonul de e-mail NUMEși va fi înlocuit automat cu numele abonatului.

  • Creați o listă de corespondență nelimitată
  • Gestionarea listei de abonați

Prin interfața web, puteți gestiona lista de abonați: vizualizați, adăugați, editați și ștergeți abonați.

  • Import/export adrese de e-mail

PHP Newsletter oferă un instrument pentru a importa și exporta adrese de e-mail. Puteți importa date dintr-un fișier text normal sau MS Excel, precum și să exportați date într-un fișier text și MS Excel.

  • Jurnal de corespondență

Pentru fiecare corespondență, vor fi introduse statistici detaliate privind numărul de scrisori trimise și netrimise. De asemenea, puteți obține informații despre câți utilizatori au deschis e-mailurile. În plus, puteți exporta statistici într-un fișier MS Excel.

  • Interfață web de la administrator

Pentru a vă opera și gestiona lista de corespondență, aveți la dispoziție un panou de administrare convenabil și destul de ușor de utilizat, accesibil prin interfața web. Un număr mare de setări vă va permite să reglați rapid sistemul la cerințele dvs.

  • Expert de instalare

Instalarea este ușor de rulat din browserul dvs. web. Va trebui să introduceți accesul la baza de date și să continuați instalarea, iar asistentul de instalare va efectua toate acțiunile necesare.

Ce este nou în versiunea 4.1.x

Instalare

  • Dezambalați distribuția în orice director al site-ului dvs., de exemplu, în „/phpnewsletter” Puteți să o instalați în rădăcină;
  • Lansați asistentul de instalare tastând în browser: http://your_site/pack_with_script/install/;
  • După procedura de instalare, ștergeți directorul „/phpnewsletter/install/”.

*Dacă din anumite motive nu ați putut instala din asistentul de instalare, puteți instala scriptul manual.

  • Plasați interogarea SQL tabelele bazei de date MySQL din fișierul dump.sql. Acest lucru este mai ușor de realizat printr-o interfață web, de exemplu prin phpMyAdmin, care este furnizat de majoritatea furnizorilor de găzduire.

După ce ați plasat tabelele în baza de date, deschideți fișierul config/default.config.php în orice editor de text și introduceți parametrii pentru conectarea la baza de date MySQL. unde $PNSL["config"]["db"]["gazdă"] – adresa serverului MySQL, $PNSL["config"]["db"]["nume"] – numele bazei de date, $PNSL["config " ]["db"]["user"] – nume de utilizator, $PNSL["config"]["db"]["passwd"] – parola. Salvați-l sub numele config.php Pentru a intra în panoul de administrare, introduceți parola 1111

Setări

  • Adăugați un formular de abonare la newsletter pe pagina dvs. web
$url = "http://site-ul_dvs./phpnewsletter/?task=subform""; $get_content = fișier($url); $get_content = implode($get_content, "\r\n"); preg_match("/
(.*)<\/div>/isU", $get_content, $out); echo $out;
  • Pentru pagini web statice obișnuite, lipiți codul html:
Nume
E-mail
  • Configurarea distribuției prin serverul smtp

Pentru a trimite buletine informative prin serverul smtp, urmați pașii de mai jos. Accesați panoul de administrare, apoi la secțiunea „Setări” și în fila „Server SMTP”, specificați serverul smtp, login, parola și portul serverului smtp (implicit 25). Selectați „Metoda de trimitere” - server SMTP.

  • Configurarea trimiterii de scrisori prin Mail.ru

E-mailul administratorului: [email protected]
Conectare la cutia poștală: [email protected]
Parola: qwerty
server smtp: smtp.mail.ru
Port smtp server: 25
Metoda de autentificare: LOGIN

  • Configurarea trimiterii de e-mailuri prin Gmail

E-mailul administratorului: [email protected]
Conectare la cutia poștală: [email protected]
Parola: qwerty
server smtp: smtp.gmail.com
Port smtp server: 465

Metoda de autentificare: LOGIN
Metoda de trimitere: server SMTP

  • Configurarea trimiterii de scrisori prin e-mail Yandex

E-mailul administratorului: [email protected]
Conectare la cutia poștală: vasyapupkin
Parola: qwerty
server smtp: smtp.yandex.ru
Port smtp server: 465
Conectați-vă printr-o conexiune securizată (SSL): Da
Metoda de autentificare: LOGIN
Metoda de trimitere: server SMTP
Adăugați semnătura DKIM

Mai întâi, trebuie să generați o cheie DKIM. Să folosim serviciul online http://dkim.worxware.com/createkeys.php

În câmpul „Domeniu” indicați domeniul dumneavoastră, iar în câmpul „Identitate” indicați adresa de e-mail pe care ați specificat-o în setările buletinului informativ PHP din „E-mail”. După ce ați completat toate câmpurile formularului, faceți clic pe butonul „Trimite”, după care ar trebui să apară un link către arhiva zip. Faceți clic pe acest link pentru a descărca arhiva pe computer, apoi despachetați-o. Ar trebui să conțină 4 fișiere: .htkeyprivate (cheie privată), .htkeypublic (cheie publică), DNS _resource_record.txt și PHPM ailer_code_plus_instructions.txt Copiați .htkeyprivate pe serverul web în folderul keyprivate.

Deschideți fișierul PHPMailer_code_plus_instructions.txt Apoi, mergeți la panoul de administrare, în secțiunea „Setări” din fila „Opțiuni de trimitere prin corespondență”, în câmpul „Setări de semnătură DKIM”, completați valorile care sunt specificate în PHPMailer_code_plus_instructions.txt În câmpul „Domeniu semnat”, introduceți valoarea din $mail->DKIM_domain, în câmpul „Selector” din $mail->DKIM_selector, în câmpul „Keyword” din $mail->DKIM_passphrase și în „Signed Identity” ” câmp adresa de e-mail care este specificată în setările dvs. în „E-mail” Bifați caseta „Adăugați semnătura DKIM la antetul e-mailului” și faceți clic pe „aplicați”.

Asta nu e tot. Pentru a putea confirma validitatea serverului expeditorului prin înregistrarea DNS, trebuie să adăugați DKIM la înregistrarea txt în configurația DNS. Pentru a face acest lucru, trebuie să accesați panoul de control al domeniului (pentru a face acest lucru, trebuie să aveți drepturi de administrator pentru acest domeniu). Preluăm valoarea acestei înregistrări din fișierul DNS _resource_record.txt.

P.S. Pentru mai multe informații despre script, citiți sursa readme.



 

Ar putea fi util să citiți: