Autor Zpráva
Prefin
Profil
Ahojda všichni.
Potřebuji přijít na to jak vytvořit jeden scriptík a nějak se mi to nedaří.
Mám databázi emailů, které jsem sesbíral z svých webů za cca 10let (se souhlasy...), je jich +- 50tis a pořád se to zvyšuje.
Na tyto emailovky posílám občas nějakou novinku atd. Samozřejmě se mi vrací mnoho různých chybovek.
Potřeboval bych přijít na to jak napsat scriptík, kterýby procházel tyto chybovky, vytáhl správný email a podle kódu chyby či obsaženého řetězce provedl nějký úkon s adresu (smazal, vypnul u ní odesílání)
Napadá mě několik možností, ale ani jedna z nich se mi nezdá moc dobrá.
Nejméně hloupá mě přijde varianta nejprve získání z chybovky toho správného emailu (není to tak snadné protože jich tam je několik a chybovky jsou podle serverů každej pes jiná ves) a potom v jednom dotazu do db zjistit jeho existenci a v případě ano tak nastavit určitou hodnotu.
Problém je v tom, že nevím přesně jak zjistit správný email z chybové zprávy, která mívá odlišnou strukturu.
Leda snad vytahat z ní všechny emaily (není jich moc) a pak testnout kterej je v databázi.

Napadlo mě jestli se to tady už někde neřešilo a jestli třeba není někde hotovej script (nebo polotovar) - nic jsem nenašel.
Díkas


Už to mám a běží to dobře.
Davex
Profil
Prefin:
Už to mám a běží to dobře.
A udělal jsi to jak?
Prefin
Profil
Davex:
Jsem nějak zapoměl.
Mno, nakonec jsem se prozatím vyprdl na třídění chybovek podle druhu.
Jenom v těle emailu hledám "Re:", což jsou odpovědi, které přesouvám jinam a ve zbytku pomocí preg_match vytáhnu všechny emailovky, které porovnám s databází.
Jedna z nich odpovídá a u té v db zakážu odeslání.
Problém je v tom, že ty chybovky jsou každej pes jiná ves (podle odpovídajícího serveru či procesu), takže nezbude než nastavit hledané řetězce (bude jich asi dost), potom těla emalů prohledávat a třídit podle druhu chyby.
Podle toho pak nastavovat zda odesílat dál, nebo vypnout nebo cosi....
Ještě se k tomu později vrátím a zkusím na to napsat nějakou třídu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0