Pomale odosielanie mailov
- tomolas
- Člen | 66
Zdravím,
mám skôr takú všeobecnú otázku.
Vo viacerých funkciách v modeloch odosielam maily. V poslednej dobe sa mi stáva, že aj pri jednoduchších akciách, v ktorých sa ale odosiela aj mail, trvá zbehnutie scriptu a načítanie stránky moc dlho (rádovo niekoľko sekúnd – aj 5 povedzme). Používam SMTP server na hostingu.
Domyslel som si, že mi to brzdí ten mail.. môže to byť spôsobené
týmto?
Dá sa toto v princípe nejak obísť? Ako to robíte?
Díki za názory!
- Filip Procházka
- Moderator | 4668
První řešení co mě napadá, tak maily si ukládat do databáze a pak načítat v nějakém démonu a postupně odesílat.
- Petr Motejlek
- Člen | 293
Odesílat e-maily hned, když dojde k nějaké události (např. vytvoření objednávky), není úplně dobré. Jak píšeš, je to pomalé. Ale taky se u toho může stát hodně podivných chyb. Proto odesílání e-mailů vždycky řešit jako asynchronní operaci. Tzn. do nějaké tabulky v databázi, nebo třeba souboru na disku, si hodit tělo e-mailu, příjemce, potom to periodicky (třeba každé 3 minuty) procházet cronem a zkoušet posílat.