Script PHP pentru corespondență întârziată. Lista de corespondență în PHP și MySQL Editor convenabil WYSIWYG

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 și are multe funcții și caracteristici utile, precum crearea unei liste de corespondență sortate pe categorii, un editor vizual pentru șabloane de scrisori, trimiterea de scrisori cu atașamente, trimiterea prin server SMTP, importarea/exportarea unei baze de date de adrese de e-mail , gestionarea abonaților, e-mailurile cu răspuns automat, statisticile 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ă
-Mail()
-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. 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 la listele de corespondență anteturi de Precedență (în bloc, nedorite sau listă) și de dezabonare.

  • 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 buletinul informativ, 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, autentificarea, 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ți” După aceea, 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.

PHP 5.4 și mai mare;
- Baza de date MySQL 5.0 și o versiune ulterioară;
- Mail();
- Iconv;
- MB String;
- Fermoar;
- cURL

Posibilitati

Buletinul informativ PHP are tot ce aveți nevoie pentru a crea, trimite și urmări buletine informative prin e-mail. Acest software cu funcții complete, care a fost conceput pentru agenții de marketing prin e-mail, include următoarele caracteristici utile:

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.

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ță.

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

Puteți crea scrisori HTML atractive sau e-mailuri cu text simplu 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 de atașamente împreună cu buletinul informativ.

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

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 eticheta %NAME% la șablonul de scrisoare și va fi înlocuită automat cu numele abonatului.

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 obișnuit sau MS Excel, precum și să exportați date într-un fișier text sau MS Excel.

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 buletinul informativ, 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ă configurați rapid sistemul pentru a se potrivi cerințelor dumneavoastră.

Expert de instalare

Instalarea unui script PHP poate fi lansată cu ușurință din browserul dvs. web, pentru care PHP Newsletter vă oferă un instrument convenabil de instalare a scripturilor. Trebuie doar 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 5.3.x

Înlocuirea aleatorie a alfabetului chirilic cu alfabetul latin (ocolind filtrul de spam);
- bug-uri remediate.

Instalare

  1. 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ă;
  2. Lansați asistentul de instalare tastând în browser: http://your_site/pack_with_script/install/;
  3. După procedura de instalare, ștergeți directorul „/phpnewsletter/install/”.

Setări

Adăugați un formular de abonare la newsletter pe pagina dvs. web

    $url = „http://site-ul_dvs/phpnewsletter/?t=subform”;

    echo $out [ 1 ] ;

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, autentificarea, parola și portul serverului smtp (implicit 25) Selectați „Metoda de trimitere” - server SMTP.

Configurarea trimiterii de scrisori prin Mail.ru

E-mail:
Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.
server smtp: smtp.mail.ru (smtp.list.ru / smtp.bk.ru / smtp.inbox.ru)
Port smtp server: 465
Metoda de autentificare: LOGIN

Metoda de trimitere: server SMTP

Configurarea trimiterii de e-mailuri prin Gmail

E-mail: Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.
Autentificare/parolă cutiei poștale: numele complet al cutiei poștale ( Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.), Parola dvs. pentru căsuța dvs. poștală

Server Smtp: smtp.gmail.com
Port smtp server: 465
Conectați-vă prin conexiune securizată (SSL): Da
Metoda de autentificare: LOGIN
Metoda de trimitere: server SMTP

Configurarea trimiterii de scrisori prin e-mail Yandex

E-mail: Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.
Autentificare/parolă cutiei poștale: numele complet al cutiei poștale ( Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.), Parola dvs. pentru căsuța dvs. poștală
server smtp: smtp.yandex.ru
Port smtp server: 465
Conectați-vă prin conexiune securizată (SSL): Da
Metoda de autentificare: LOGIN
Metoda de trimitere: server SMTP

Configurarea trimiterii de scrisori prin poșta rambler.ru

E-mail: Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.
Autentificare/parolă cutiei poștale: numele complet al cutiei poștale ( Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.), Parola dvs. pentru căsuța dvs. poștală
server smtp: smtp.rambler.ru
Port smtp server: 465
Conectați-vă prin conexiune securizată (SSL): Da
Metoda de autentificare: LOGIN
Metoda de trimitere: server SMTP

Configurarea trimiterii de e-mailuri prin hotmail

E-mail: Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.
Autentificare/parolă cutiei poștale: numele complet al cutiei poștale ( Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.), Parola dvs. pentru căsuța dvs. poștală
server smtp: smtp.live.com
Port smtp server: 465
Conectați-vă prin conexiune securizată (SSL): Da
Metoda de autentificare: LOGIN
Metoda de trimitere: server SMTP

Configurarea trimiterii de e-mailuri prin Yahoo Mail

E-mail: Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.
Autentificare/parolă cutiei poștale: numele complet al cutiei poștale ( Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.), Parola dvs. pentru căsuța dvs. poștală
server smtp: smtp.mail.yahoo.com
Port smtp server: 465
Conectați-vă prin 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. Utilizați serviciul online https://port25.com/dkim-wizard/ pentru aceasta.
În câmpul „Nume domeniu” indicăm domeniul dumneavoastră de e-mail, iar în câmpul „Selector cheie domeniu” orice valoare. După ce ați completat toate câmpurile formularului, faceți clic pe butonul „Trimite”, după care cheile publice (PUBLIC KEY) și private (RSA PRIVATE KEY) generate ar trebui să apară în câmpul de text de mai jos.
Apoi, deschideți Notepad sau orice alt editor de text și creați 2 fișiere cu numele: .htkeypublic și .htkeyprivate Copiați conținutul secțiunii „BEGIN PUBLIC KEY” și puneți-l în fișierul .htkeypublic. Deschideți .htkeyprivate, lipiți conținutul secțiunii „BEGIN RSA PRIVATE KEY” și salvați.
După aceasta, copiați fișierele create pe serverul web în folderul keyprivate al directorului programului. În cele din urmă, tot ce rămâne este să configurați DNS-ul. Folosind solicitările de serviciu, trebuie să introduceți înregistrări TXT în DNS-ul numelui dvs. de domeniu în panoul de control al registratorului de nume de domeniu.
Ar trebui să adăugați înregistrări TXT în următorul format: mail._domainkey.example-site.com și _domainkey.example.com. În loc de example.com, introduceți domeniul dvs. de e-mail. Ambele intrări vor arăta astfel:

Domainkey.example-site.com. TXT "t=s; o=~;"
mail._domainkey.example.com. TXT "k=rsa\;
p=MIGfMA0GCSqGSIb3DQE….." Aici introducem cheia publică din secțiunea BEGIN PUBLIC KEY.

Acum, pentru a verifica dacă totul este configurat corect, trimiteți-vă un e-mail. Dacă totul este făcut corect, anteturile scrisorii trimise ar trebui să conțină aproximativ următoarele rânduri:

Autentificare-Rezultate: mx.google.com; spf=pass (google.com: domain of Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza. desemnează 123.123.123.123 ca expeditor permis) smtp.mail= Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.; dkim=pass [email protected]

Configurarea e-mailurilor programate

Rularea unui script php din cron:

În setările cron, scrieți comanda, de exemplu * * * * * /usr/local/bin/php /home/user/www/phpnewsletter/cron.php
Exemplul folosește un script PHP pentru a rula în fiecare lună, unde /usr/local/bin/php este calea către interpretul php. Acest parametru este obligatoriu. Pe serverul dvs. poate fi diferit de exemplul dat. Pentru a afla calea, trebuie să rulați ce comenzi php sau să întrebați furnizorul dvs. de găzduire.
/home/user/www/phpnewsletter/cron.php calea către scriptul de pe serverul dvs. web.

Rularea unui script php folosind metoda GET:

Rularea unui script PHP folosind metoda GET din cron folosește programul wget. Linia fișierului cron este scrisă astfel: * * * * * /usr/local/bin/wget „http://domain/phpnewsletter/cron.php”
/usr/local/bin/wget- calea către programul wget
http://domain/phpnewsletter/cron.php- link către scriptul în sine.

Cum să cumpăr?

Costul licenței PHP Newletter 5 pentru un site 500 de ruble., pentru un număr nelimitat de site-uri 1500 de ruble.. Utilizatorii PHP Newletter 4 beneficiază de o reducere de 50% la achiziționarea unei noi licențe. Plata se poate face folosind următoarele detalii:

WebMoney
U237811811298
R198597198920
Z917380288657

Bani Yandex
41001635943434

PayPal
Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.

Payeer
P33851732

În note vă rugăm să indicați: Buletin informativ PHP - „Adresa dvs. poștală”

Dacă aveți întrebări sau sugestii, vă rugăm să-mi scrieți la: Această adresă de e-mail este protejată de spamboți. Trebuie să aveți JavaScript activat pentru a-l vizualiza.

Ultima dată ne-am uitat la opțiunea ca direct de pe site. Această opțiune este potrivită pentru a trimite o scrisoare.

Și pentru un administrator de site, de foarte multe ori este necesar să se facă o notificare despre unele știri sau evenimente către toți utilizatorii site-ului, iar pentru aceasta este necesar să se trimită un e-mail în masă. Și este foarte important ca fiecare să primească o scrisoare individuală adresată în mod special. Aceasta înseamnă că fiecare literă trebuie să conțină un nume și o adresă unice.

Pentru a realiza un astfel de newsletter, trebuie să întrebați administratorul găzduirii pe care este instalat site-ul. Postarea fără permisiune poate duce la blocarea contului dvs. Indiferent dacă ai plătit pentru găzduire o lună sau un an. Voi spune imediat că șaptezeci la sută din toate site-urile de găzduire te pot refuza categoric. Alții pot fi permise, dar cu restricții. Aceasta ar putea fi, în cel mai bun caz, cinci sute de litere pe oră sau pe zi, sau în cel mai rău caz, o sută de litere pe zi. Totul depinde de tarif și de găzduire în sine.

Și dacă faci asta profesional și serios și, desigur, banii nu sunt suficienți, atunci mai întâi vei avea nevoie de un server VPS dedicat. Dar să nu credeți că puteți trimite atât de mult cât doriți acolo. Încă trebuie să îi spuneți administratorului de găzduire că trebuie să trimiteți un mesaj utilizatorilor site-ului că toată lumea a fost de acord să primească e-mailuri de la dvs. Și în general, baza de utilizatori este absolut albă și nu ați cumpărat această bază de pe nicio piață neagră.

Ei bine, cred că ați scris deja o scrisoare administratorului de găzduire. Am primit aprobarea de la el și i-am demonstrat că baza ta de e-mail este absolut albă și pufoasă.

Minunat. Acum să trecem la partea tehnică a problemei. Vom trimite scrisori într-o buclă while cu funcția obișnuită mail();
Avem o bază de date de e-mail și numele fiecărui utilizator. Aceasta înseamnă că facem o interogare în baza de date a utilizatorilor folosind expresia mysql_query(“SELECT * FROM `users`”);

Și codul general de script este următorul:

În principiu, scriptul în sine pentru trimiterea de e-mailuri în masă în PHP este foarte simplu. Nu mai complicat decât, de exemplu, simplu. Dar, în realitate, trimiterea prin corespondență în masă nu este atât de simplă pe cât pare. Scriptul de corespondență în masă în sine este instalat și configurat pe server în câteva minute. Numai dvs. ați făcut doar zece la sută din tot ceea ce este necesar pentru a trimite scrisori și, în general, a efectua corespondență.

Și trebuie să țineți cont de următoarele condiții:

Iată o listă scurtă cu ceea ce este necesar pentru a trimite e-mailuri în masă. Dar acestea nu sunt toate recomandări, deoarece regulile jocului sunt în continuă schimbare. Și regulile de recunoaștere a spamului se schimbă aproape în fiecare an. Pentru că în rețea există peste 200 de milioane de adrese de e-mail numai în Rusia. Toată lumea visează să primească cel puțin o rublă de la fiecare destinatar de e-mail.

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 într-un fișier 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.


" name="email" size="30"> depune " name="email" size="30">"nume="">!}

" value="subscribe "acțiune=" 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

pentru a fi adăugate pe lista de corespondență. "acțiune="În continuare, să ne uităm la scenariu

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ă 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: 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 într-un fișier"; $file = "

// 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 if(eregi("^[_\.0-9a-z-]+@([-0-9a-z\.]+)\.((2,3)$)", $car )) $flag =;
dacă ($flag) revine $flag =;
}

altfel revin $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 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 într-un fișier";
$file = "
$list = fisier($fisier);< sizeof ($list ); $i++ )
pentru ($i = 0; $i if(eregi("^[_\.0-9a-z-]+@([-0-9a-z\.]+)\.((2,3)$)", $car )) $flag =;

dacă ($car == trim($listă [$i ])) $flag = if(eregi("^[_\.0-9a-z-]+@([-0-9a-z\.]+)\.((2,3)$)", $car )) $flag =;
dacă ($flag) revine $flag =;
}

Dacă ($flag) revine

";

Ecou" // 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"
Abonați-vă la newsletter-ul nostru
";
echo „Introduceți e-mail:
";

Dacă ($flag) revine



";
echo „Dezabonați-vă de la lista de corespondență
Introdu e-mail:";
ecou"
";
// dacă utilizatorul decide să se dezaboneze, ștergeți cele introduse adresa
// funcție care verifică realitatea adresei $flag =;
$fw = fopen($fișier , " w");
$list = fisier($fisier);< sizeof ($maillist ); $i++ )
if (trim(strtolower($delmail ))) == trim(strtolower($maillist [$i ]))) (
dacă (!$delmail == "")
{
printeaza "
$delmail a fost eliminat din lista de corespondență
";
// funcție care verifică realitatea adresei if(eregi("^[_\.0-9a-z-]+@([-0-9a-z\.]+)\.((2,3)$)", $car )) $flag =;
}
}
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:



" value=" log in!}">

Câmpul de introducere se numește pass și va fi folosit pentru a introduce o parolă. afară.php:

După ce faceți clic pe butonul care spune enter, parola va fi transmisă scriptului $subject = "Buletinul informativ al site-ului meu";
// subiect de corespondență $fromemail = "sapunul meu@";
// verifică dacă o astfel de adresă există în baza de date 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 într-un fișier"; // adresa ta (pentru răspunsuri)
// lista adreselor abonaților $parolă = "parolă secretă";

// parola dvs. pentru trimitere prin poștă 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
{
ecou"
";
trimite.php

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

";
$list = fisier($fisier);< sizeof ($maillist ); $i ++) print $maillist [$i ]. "
";
}
adrese
// 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 );

// verifică dacă o astfel de adresă există în baza de date 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 într-un fișier";
$maillist = fisier($fisier);

$body = stripslashes($corp );
";
$list = fisier($fisier);< sizeof ($maillist ); $i ++)
{
Tipăriți „În baza de date”.
");
sizeof($maillist)." adrese
$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 la pagina noastră

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.

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 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ă. Î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 "
Abonați-vă la newsletter-ul nostru
"; echo "Introduceți e-mail:
"; ecou"


"; echo "Dezabonați-vă de la lista de corespondență
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, corp literă // un 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"
"; imprima" textul scrisorii: ". 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