Wysyłka mailingu
- model:
N1ebieski\ICore\Models\MailingEmail
- cron:
N1ebieski\ICore\Crons\MailingCron
- job:
N1ebieski\ICore\Jobs\SendMailingJob
- widok powiadomienia mailowego:
/resources/views/vendor/icore/mails/mailing.blade.php
częstotliwość: co 30 minut
# Opis
Zadanie cron aktywuje wszystkie zaplanowane mailingi, a następnie pobiera z bazy wszystkie adresy e-mail którym należy rozesłać mailing. Dla każdego z nich utworzony zostaje job i ustawiony w kolejce do wykonania. W przypadku problemów z wysyłką zostaje to odnotowane odpowiednim statusem w modelu. Na końcu zadanie dezaktywuje wszystkie wykonane mailingi, to znaczy takie dla których nie ma już adresów e-mail ze statusem niewysłane.
# Statusy
- wysłane - oznaczone na zielono
- niewysłane - oznaczone na szaro
- błąd - oznaczone na czerwono
Statusy widoczne są zbiorczo w postaci progress bara z poziomu panelu administracyjnego na liście mailingów.
# Konfiguracja
Z poziomu pliku .ENV w głównym folderze z aplikacją można ustawić limit maili które zostaną wysłane w jednej jednostce czasu:
ICORE_MAILING_LIMIT=100
oraz opóźnienie w minutach po którym kolejna paczka adresów e-mail zostanie pobrana do wysyłki:
ICORE_MAILING_DELAY_MINUTES=1
Przykładowo: limit 50 przy opóźnieniu 60 oznacza, że co 60 minut zostanie wysłane 50 maili do kolejnych odbiorców z listy.