Caute,
ma niekto skusenost s rychlostami a spolahlivostou odosielania mailov z aplikacie (pocas spracovavania kodu, pre uzivatela) medzi vstavanym mail() a odoslanim cez SMTP? Samozrejme tak ze SMTPecko bude na lokalnom stroji (alebo aspon v sieti)...
Prave prerabam jeden starsi kod ktory maily odosiela cez mail() a odosiela ich aj hromadne... co si myslim ze nato je tato funkcia nevhodna.... co mi teda poradite, prepisat to odosielanie cez smtp??
Fórum › PHP
SMTP vs mail()
Bol som práve v situácii, kedy bolo dostupné iba SMTP a bolo navyše veľmi pomalé. Ľudia opakovane submitovali formy, lebo dlho čakali na response...
Odvtedy všetky maily riešim cez "buffer", tak, že miesto okamžitého odoslania mailu sa uloží do DB odkial ho druhý, permanentne bežiaci program, vyťahuje, posiela a loguje. Umožnilo mi to napr. časovanie mailov, hromadne odosielanie mailov atd.
Nevýhodou je, že musíš mať možnosť na serveri spúštať vlastného daemon-a... V prípade hostingu by sa to dalo ale prerobiť na jeden skript, ktorý sa budeš opakovane spúštať, napríklad cronom..
presne toto iste napadlo aj mna, resp. ze by som nastavit nizsky timeout, a ak by sa prekrocil, mail by som vlozil do db, a cron by sa ho pokusil odoslat znova....
Ja to už ukladám rovno do db, čo je okamih a netreba riešiť veci na dva krát...
Treba ale vyriešiť to, aby sa mail z db nezmazal pokiaľ skutočne nebol odoslaný a tiež to, aby sa súčasne neodoslal dva krát, napríklad ak sa ten skript dva krát spustí...
Tak rozesílání emailů (registračních, marketing, pozvánek atd) ze všech projektů odesílám do DB tab. outbox.
Na odesílání mám skript který cron pouští každích cca 10min a odesílá 100 emailů což dříve byla norma na servrech smtp.vol.cz (max 100 emailu z jedne IP behem 10min, pak uz to bylo blokovano) dalo se to resit cronem na vice PC pokud bylo potreba odesilat ve vetsim mnozstvi.
Myšlenka jednoduchá:
vytvoříme email -> odesleme do DB outbox -> cron nacte a odesle odebere body emailu a ulozi zbytek do DB sent -> cron načíta přez imap statusy nedorucenych,zaplnených a pod a aktualizuje DB sent
pak mas administraci ktera umoznuje tridit emaily na projekty, presouva poradi emailu aby nejaky projekt mohl byt odeslan predcasne, no a v posledni rade statistika aby bylo videt kolik se odeslalo uspesne, kolik adres bylo spatne, zaplnených atd
pak se snadno dohledává proč Demeter nedostal do zaplněné schránky email :) takže máš jak pěknou statistiku odeslani/přečtení tak i nedoručení a krytá záda před klienty
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
SMTP - pomoc — založil Triny
Apache SMTP — založil Franceq
Problém s SMTP serverem — založil Zdeněk Lehocký
Odesílání emailu přes SMTP — založil bedna
Moderátoři diskuze