Implementarea unui sistem de “e-mail queueing” pentru PHP si sendmail
Descrierea problemei
Desi exista nenumarate solutii moderne de MTA (mail transport agent), precum Postfix, Exim, Ipswitch, Inc. IMail sau qmail, multe servere folosesc in continuare popularul sendmail, care a fost dezvoltat la inceputul anilor ‘80.
Un neajuns al acestei aplicatii este lipsa unui sistem de “queueing”, unui sistem care sa pastreze mesajele email intr-o memorie temporara, trimitandu-le in functie de capacitatea/incarcarea server-ului.
Astfel, fara un sistem de genul asta, un site gazduit de un server limitat va pierde toate mesajele trimise peste cota admisa.
Solutia
Cum majoritatea site-urilor nu trimit email-urile distribuite uniform de-a lungul unui anumit interval de timp, mesajele care depasesc limita impusa de server pot fi salvate pentru a fi trimise in urmatorul interval orar mai liber. Voi descrie in continuare cum poate fi realizat cu usurinta acest lucru.
Un obiectiv important al implementarii pe care urmeaza sa o descriu este posibilitatea aplicarii solutiei in cadrul unui site existent, cu minimum de efort. Astfel codul existent va suferi modificari numai in locurile in care este folosita functia PHP mail().
Puteti descarca intreg articolul in format PDF: implementing-a-queue-system-for-php-and-sendmail.pdf
Puteti descarca codul separat: email-queue.zip