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.