Newsletter-ul dvs. pe php - cum să creați

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

Să vedem ce avem nevoie pentru asta.

De fapt, aproape toate.







Rămâne doar să adaugi abilitatea de a trimite scrisori. Pentru securitate, hai să punem o parolă cu privire la posibilitatea de a trimite scrisori - aveți nevoie de un formular pentru introducerea parolei.

În fine, scenariul în sine. care va trimite scrisori.

Și acum e totul în ordine.

error_reporting (0); // interzice afișarea mesajelor despre eventualele erori

$ flag = false;
if (eregi ( "^ [_ \ 0-9A-z -.] + @ ([0-9A-z] [-. 0-9A-z \]. +) \ ([az] $)", $ char)) $ flag = true;
dacă ($ flag) returnează adevărat;
altceva returnează fals;
>

După cum am menționat deja, vom proteja posibilitatea trimiterii unei parole, pe care o vom introduce într-un formular special:




Câmpul de introducere cu numele trece și va servi pentru a introduce parola. După ce faceți clic pe butonul cu conectarea, parola va fi trimisă la scriptul out.php:

Rămâne să luăm în considerare numai un singur script - cel care va trimite poșta:

error_reporting (0);
$ subject = $ HTTP_POST_VARS ["subiect"];
$ body = $ HTTP_POST_VARS ["corp"];
$ subject = stripslashes (subiectul $);
$ body = stripelashes ($ body);

$ fișier = "maillist.txt";
$ maillist = fișier (fișier $);

E destul de ușor! Acum aveți un instrument puternic pentru menținerea propriei liste de discuții. Nu mai există reguli pentru tine. Ce vrei tu scrie apoi în ezine. Libertate completă în configurarea și aspectul formularelor pentru abonament.







Desigur, acest cod este doar un set minim. De exemplu, utilizând funcția de poștă electronică, puteți să vă organizați o notificare despre un abonat nou și un abonat despre o înregistrare reușită, să vă informați mai multe despre corespondență.

Pe o notă atât de veselă și terminată.

Astfel, din articol ați învățat deja nu numai modul în care puteți trimite scrisori folosind PHP, ci și modul de organizare a unei trimiteri simple pe cont propriu.

De la publicarea articolului, am primit multe recenzii și întrebări. Practic, oamenii se întrebau dacă este posibil să trimiteți mesaje cu atașamente prin atașamente prin PHP.

clasa mime_mail var $ parts;
var $ to;
var $ din;
var $ anteturi;
var $ subject;
var $ body;

// crea clasa
funcția mime_mail () $ this-> parts = array ();
$ this-> to = "";
$ this-> from = "";
$ this-> subject = "";
$ this-> body = "";
$ this-> headers = "";
>

// doar funcția de a adăuga fișiere la săpun
funcția add_attachment ($ message, $ name = "", $ ctype = "aplicație / octet-stream") $ this-> parts [] = array
"ctype" => $ ctype,
"mesaj" => $ mesaj,
"encode" => encode $,
"nume" => nume $
);
>

// Construirea unui mesaj (mai multe părți)
funcția build_message ($ part) $ message = $ part ["mesaj"];
$ message = chunk_split (baza64_encode ($ mesaj));
$ encoding = "baza64";
reveni "Content-Type:" $ parte [ "ctype"] (; "? ..". $ parte [ "nume"] "name =" "$ parte [" nume "]" "") „\ ... nContent-Transfer-Encoding: $ encoding \ n \ n $ mesaj \ n ";
>

Funcția build_multipart () $ boundary = "b" .md5 (uniqid (time ()));
$ multipart = "Content-Type: multipart / mixed; boundary = $ boundary \ n \ nAcest mesaj este codificat MIME. \ n \ n - $ boundary";
pentru ($ i = sizeof ($ this-> părți) -1; i $> = 0; $ Eu--) $ multipart = "\ n" $ this-> build_message ($ this-> piese [$ i.. ]). "- limita $";
returnați $ multipart. = "- \ n";
>

// Trimiterea mesajului, ultima funcție a clasei
funcția trimite () $ mime = "";
if (! empty ($ this-> from)) $ mime. = "De la:". $ this-> from. "\ n";
dacă (! empty ($ this-> headers)) $ mime. = $ this-> headers. "\ n";
dacă (! empty ($ this-> body)) $ this-> add_attachment ($ this-> body, "", "text / plain");
$ mime. = "MIME-Versiune: 1.0 \ n". $ this-> build_multipart ();
mail ($ this-> to, $ this-> subject, "", $ mime);
>
>

Asta e tot, dau un exemplu de folosire a unei clase:

Al treilea parametru din add_attachment trece antetul tipului de fișier, de exemplu imaginea va fi "image / jpeg"

Asta e tot, după cum vezi, nimic complicat. Vor fi întrebări - întrebați.







Articole similare

Trimiteți-le prietenilor: