Autor Zpráva
JanPavel
Profil *
Dobrý den,

mám php skript na odesílání mejlů a zajímalo by mě, jak by se dalo zařídit (podmínkou či dalším skriptem), aby se email odeslal například až za několik minut nebo až za hodinu od odeslání mailu formulářem ze stránek? Mockrát děkuji.

JP
Taps
Profil
JanPavel:
Napadá mě, že by jsi data mohl uložit do databáze a pak cronem data z databáze načíst a odeslat
mimochodec
Profil
JanPavel:
Záleží na tom, jak přesně to potřebuješ. Jak píše Taps, můžeš použít cron, ale ten nabízí různé hostingy různým způsobem. Někde ho třeba zadarmo nemáš vůbec, někde je a nejkratší interval je 5 minut, někde hodina a podobně. Každopádně cron ti umožní provést něco nikoliv za nějaký čas, ale v nějakém intervalu. Můžeš při jednom jeho průchodu detekovat požadavek na odeslání mailu a v druhém mail odeslat. Konkrétní řešení už je na tobě.
Keeehi
Profil
Ten dlouhý interval (třeba ta hodina), který zmiňuje mimochodec je možné řešit dlouho běžícím skriptem. Který který v cyklu kontroluje, zda je potřeba vykonat nějaká akce a pak se na nějaký čas uspí. No a pokud cron webhosting neposkytuje, tak existují i služby, které budou periodicky volat nějakou url a tudíž spouštět určitý script. Ještě by se tedy dal uspat ten script, co zpracovává ten formulář a po jeho probuzení by se rovnou odeslal a skončil. Ovšem toto řešení může být ze strany webhostingu limitováno počtem souběžně běžících PHP procesů.
JanPavel
Profil *
To je to až tak komplikované? Přes weby a skripty nejsem tak moc zběhlý, ale jak tak koukám, tak je taková blbůstka asi vážně komplikovaná...
Keeehi
Profil
JanPavel:
Komplikované to není, jen je spoustu možností, jak to řešit. Různé metody jsou různě vhodné a dost záleží na konfiguraci webhostingu. Taky nevíme, jakou přesnost vyžaduješ. Takže jsem se snažili vypsat co nejvíc možností, abychom se alespoň nějakou trefili. Ale každá z nich je poměrně jednoduchá na implementaci. Když dodáš víc informací, můžeme poradit konkrétněji.

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