Blog: programování

Mailer

** 17:27 To byl zase dneska den. Nejen že mám dneska třicítku, ale v práci jsem dost máknul na systému rozesílání mailů zákazníkům. Vlastně to funguje tak, že mám tabulku v databázi do které házím data, které si vybere PHP script spouštěný přes cron na localhostu každou minutu. Vždycky to ale může poslat maximálně 10 zpráv za jedno spuštění a je tam 2 vteřiny pauza mezi odesíláním.

Celkem jednoduchá věc, jen to vymyslet a napsat. Všechno to frčí rovnou přes SMTP na mailák, takže žádný pseudo rozesílání přes lokální webserver atd...

Co mě docela mile překvapilo, byla aktuální verze PHPmaileru který k tomu používám. Naposledy jsem se s ním setkal kdysi dávno; je to možná už 4 roky zpět a tehdy to bylo děravý jak cedník. Teď jsem na to koukal a je z toho celkem snadno použitelný a komplexní nástroj. Bude docela sranda s tím pracovat.

Každopádně: abych se vrátil k meritu věci. Do databáze stačí zapsat ID zákazníka (není nutné), email příjemce, předmět mailu a obsah mailu. Dál se tam automaticky (díky AUTOINCREMENT) přiřadí GUID (unikátní ID) což používám hlavně pro určení posloupnousti zpráv při dosažení limitu "per_hit". Při zápisu do DB se rovněž uloží datum a čas kdy to bylo zadáno. V neposlední řadě ta tabulka obsahuje sloupec "sent", který určuje, jestli byl mail už odeslán (1) nebo čeká na odeslání (0) a nebo jestli to selhalo (-1). To tam mám pro to, aby se mi to nezacyklilo, páč je jasný, že pak byc to každou minutu odesílalo dokola prvních 10 mailů, který to v databázi najde. A to fakt nechceš.

Teď mi vlastně stačí vložit do databáze co chci odeslat (a komu) a během cca dvou minut se to doručí. Tím se kulantně vyhnu složité implementaci zasílání mailů v Nette. Nevím čím to přesně je, ale to zasílání mailů z Nette frameworku mi prostě nesedí. A co víc? Já potřebuju zpětně kontrolovat co přesně se komu odeslalo a kdy, a taky jestli vůbec. Moje řešení mi nabízí obojí: pohodlnost a možnost zpětné kontroly prohlížením historie v databázi.

Přiměřená dávka relaxu

** 23:06 Dnešní den byl ve znamení programování, dělám administrační rozhraní pro celý systém k nám do práce. Až to v úterý uvidí šef, tak si z toho možná sedne na zadek, páč to mám dokonale promyšlený. Hlavně to bude umět hodně věcí, přičemž ovládání bude pro každýho jednoduchý jako facka. (našel jsem jenom ikonku pěsti, ale nevadí)

Snad to stihnu, chci ještě dodělávat věci na masce toho Beasta, jak mám teď rozděláno.

2017-04-14_inzerat-auto-do-hospody.jpg