Posielanie emailov v DEVELOPMENTE, práca s emailom rubrika: Programování: PHP

5 pooler
položil/-a 17.5. 10:09
  1. ako riešite odosielanie emailov počas DEVELOPMENTU ?
    a, používate nejaké externé nástroje ako "mailcatcher" ?
    b, zakazujete posielanie, resp. povolené je posielanie len na určité adresy ?
    c, presmerovávate každý email na email DEVELOPERA ?

  2. pozná niekto nejaký iný nástroj na správu emailov počas VÝVOJA ? (nejedná sa o produkciu)

    • script/systém spravený v PHP
    • bez nutnosti registrácie/prihlásenia
    • počas DEVELOMPENTU možnosť zobraziť emaily cez URL "{DOMAIN}/dev/emails"
    • mám takú predstavu, aby som nemusel používať nejakú tretiu stranu, žeby boli emaily už vyriešené so systémom, prípadne aby boli riešené nezávisle od systému, no stále v projekte ... (ak nastane chyba v aplikácií, systém na zobrazovanie emailov má stále fungovať, je nezávislý/osobitný)
    • url by v tomto prípade mala byť pre istotu chránená heslom cez .htaccess ?
    • riešiť to radšej cez subdoménu namiesto url ? mail.{DOMAIN} ?
    • daný "nadsystém/podsystém/script" by mal ukladať emaily radšej do databázy (vedel by som v nich vyhľadávať), alebo do súboru ?
    • ideálne nejaký bundle/script/komponent spravený v SYMFONY frameworku, prípadne aby sa vôbec nemusel inštalovať/nastavovať (niečo ako je napr. nástroj/script Adminer)
  3. ukladanie emailov v PRODUKCI do databázy, má s tým niekto skúsenosti ?
    • aké sú rôzne nevýhody ? chyby v bezpečnosti ? odporúčania ?
odkaz
5 bubla
odpověděl/-a 17.5. 15:31

Nám se osvědčilo e-maily neodesílat z aplikace ale ukládat do fronty do databáze a odesílat nějakým démonem běžícím na pozadí.
1) řeší to problém vývoje, lokálně při vývoji ani na testovacích instancích démon neběží a e-maily zůstávají jen v databázi, vývojář si ho může prohlédnou ale nehrozí, že by něco někam odešlo
2) v provozu pak můžeme na stížnosti typu "nám žádný e-mail nepřišel" dohledat, kdy přesně a komu byl odeslán
V některých aplikacích jsou odeslané e-maily zpřístupněny (některým) uživatelům, někde je lze dohledat pouze ručně v databázi v případě problému.

Komentáře

  • rmaslo : Naprostý souhlas děláme to skoro stejně, ale ten démon je společný pro všechny aplikace na serveru. Pak můžeme kontrolovat, aby třeba na nějakou doménu typu post.cz atd... neodešlo z více aplikací na jednom serveru (IP) moc mailů na minutu atd... Na to, že je to jen simulace je tam v té struktuře db nějaký flag, a ty se pak neodešlou. Ten flag se typicky plní z konfigu aplikace. A součástí aplikace pak nemusí být žádný odesílač mailů, případně to z HTML vygeneruje TXT tvar mailu atd... 17.5. 17:13
  • pooler : prečo sa neosvedčilo odosielať z aplikácie ? konkrétne dôvody 17.5. 20:06
  • michal.bartha : iba by som dolnil, na test mame spraveny config.local ktory prepise odosielac a tiez kam sa maju emaily poslat, niekiedy je dobre ak to nie plain text si taketo emaily pozriet inak uplny suhlas 17.5. 22:17
  • bubla : @ferkomatus: 1) pokud SMTP server z jakéhokoliv důvodu neodpovídá, e-mail zůstane ve frontě 2) historie e-mailů 3) e-maily v testovacím prostředí (na lokále se to dá upravit nastavením web.config, ale máme různé také testovací a beta instance) 26.5. 1:23

Pro zobrazení všech 10 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.