Mailová fronta adt/mail-queue

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jarda256
Člen | 130
+
0
-

Ahoj, lidi narazil jsem na mailovou frontu pro nette s doctrine (https://packagist.org/…t/mail-queue). Ale není mi úplně jasné jak bych ho měl využít. Nemá někdo zkušenosti(popř. s jiným rozšířením)? Je tam dokumentace, ale nějak jsem z toho nepochopil jak tedy řešit odesílání mailu a jak zajistit aby fronta běžela a například co 1min odeslala max.20 mailu. Díky za rady

ZahorskyJan
Člen | 59
+
+1
-

@jarda256 kde selhává dokumentace, stačí se podívat do zdrojového kódu.

Implementuje to vlastní QueueMailer s metodou send(), která očekává objekt Message. Takže to funguje jako standardní odesílání Nette mailů, jen stačí si od DI vyžádat ten QueueMailer a poslat to přes něj. On zařídí, že jde mail do fronty.

Odesílání se řeší spuštěním v consoli na serveru, viz bod 1.4 dokumentace. Využívá to standardní Kdyby/Console. Pohledem do tří QueueService a metody process() uvidíš, že posílá nejméně 1000 mailů nebo celou frontu (podle toho co je min). Takže to by chtělo si udělat vlastní fork a upravit si to nebo přidat nějakou konfiguraci a poslat to jako PR autorovi. To spuštění v nějakém intervalu se pak řeší nejčastěji nějakým minutovým cronem, který jen zavolá ten příkaz viz 1.4

jarda256
Člen | 130
+
0
-

@ZahorskyJan Děkuju moc za vysvětlení. Zatím nejsem tak zkušený, abych se podíval do kodu a rovou viděl souvislosti, tak děkuji, že mi to někdo objasnil.

ZahorskyJan
Člen | 59
+
0
-

@jarda256 není zač. Je super mít zprovozněný xdebug v nějakém IDE a když člověk neví nebo to nevyčte, tak pomůže to nějak spustit a odkrokovat. Pak většinou přijde člověk na to co a jak to asi dělá a co od toho může čekat.