Derularea unei campanii

Pornirea unei campanii se face in baza identificatorului de campanie (din baza de date) si a unui identificator de sesiune.

O sesiune este o instanta de derulare a unei campanii. Astfel o campanie poate fi definita o data si sa se deruleze in repetate randuri existand un anumit nivel de delimitare intre momentele in care o campanie ruleaza.

In prima faza se verifica daca exista o sesiune activa pentru acea campanie. Daca exista se trimite un mesaj de avertizare si algoritmul se termina. Altfel se verifica identificatorul de sesiune. Daca acesta are valoarea 0 (zero) se creaza o sesiune noua cu un identificator unic. In caz contrar se incearca repornirea unei sesiuni existente, nefinalizate.

Mai departe la nivelul campaniei se inregistreaza noua sesiune cu identificatorul generat si timpul de pornire in campurile 410n, respectiv 410t.

In continuare se stabileste lista de destinatari:

  • O lista manuala are un set predefinit de destinatari, toti fiind definiti static in campanie.
  • Daca lista de destinatari se face in functie de un abonament, in campanie se inscrie identificatorul de abonament dupa care se identifica toti utilizatorii abonati la acea campanie.
  • A treia forma de determinare a destinatarilor este dinamica, prin intermediul unei interogari SQL. In acest caz trebui specificata interogarea SQL, indexul setului de rezultate si coloana de unde se vor prelua identificatorii utilizatorilor care urmeaza sa primeasca email in urma campaniei.

In toate cele trei cazuri este necesara specificarea tipului de destinatar: utilizator sau administrator.

Lista destinatarilor determinati in acea sesiune este salvata in baza de date, astfel incat, la o posibila intrerupere a procesului de trimitere a mesajelor, sesiunea sa poata fi reluata si finalizata.

In urmatoarea etapa se determina contul sau conturile SMTP utilizate pentru transmiterea mesajelor, modulul fiind capabil sa transmita in paralel mesaje de pe mai multe conturi.

Mai departe urmeaza determinarea subiectului si continutului mesajului. Acestea sunt selectate din definitia campaniei, si daca este bifata optiunea de personalizare, inainte de trimiterea mesajului(individual), acestea sunt modificate ca atare.

Continutul poate fi de tip text, caz in care acesta se afla in definitia campaniei, sau de tip URL, adresa la care se afla continutul mesajului fiind inregistrata in campul de continut al campaniei.

In plus daca tipul campaniei nu este Newsletter ci Report se va genera un raport individual pentru fiecare destinatar. Daca formatul raportului este html acesta este inclus in continutul mesajului, altfel acesta este inclus ca atasament.

newsletter_logic

Sidebar