Mailing
- routy:
/routes/vendor/icore/admin/mailings.php
- kontrolery:
N1ebieski\ICore\Http\Controllers\Admin\MailingController
- model:
N1ebieski\ICore\Models\Mailing
- widoki:
/resources/views/vendor/icore/admin/mailing
- widok powiadomienia mailowego:
/resources/views/vendor/icore/mails/mailing
- pliki językowe:
/resources/lang/vendor/icore/pl/mailings.php
/resources/lang/vendor/icore/en/mailings.php
# Opis
iCore umożliwia wysyłkę mailingu do użytkowników serwisu, newslettera oraz na adresy e-mail zaimportowane w formacie JSON. Moderator może dodać nieograniczoną liczbę mailingów. Może mailing edytować, aktywować/dezaktywować lub usunąć. Proces wysyłki jest graficznie reprezentowany przez progress bar dostępny z poziomu panelu administracyjnego.
W momencie utworzenia mailingu dla każdego z odbiorców tworzony jest job i przekazany do kolejki w celu wykonania.
# Statusy
- aktywny - przeznaczony do wykonania
- nieaktywny
- nieaktywny - zaplanowany - oczekujący na wykonanie (można określić dzień i godzinę); aktywacją zajmuje się zadanie cron.
- w trakcie wykonania
W celu edycji aktywnego mailingu (w trakcie wysyłki) należy go wpierw zresetować, po czym ponownie zdefiniować odbiorców.
# Uprawnienia
- admin.* - dostęp do wszystkich funkcjonalności panelu administracyjnego
- admin.mailings.* - dostęp do wszystkich funkcjonalności mailingu w panelu administracyjnym
- admin.mailings.view - dostęp do listy mailingów w panelu administracyjnym
- admin.mailings.create - dostęp do dodawania mailingów w panelu administracyjnym
- admin.mailings.status - dostęp do aktywacji/deaktywacji mailingów w panelu administracyjnym
- admin.mailings.edit - dostęp do edycji mailingów w panelu administracyjnym
- admin.mailings.delete - dostęp do usuwania mailingów w panelu administracyjnym
# Dynamiczne elementy w treści
W przypadku, gdy w treści kilku mailingów zamierzamy wstawiać tą samą wartość, albo zakładamy, że może się ona w przyszłości zmienić, można z poziomu pliku /config/icore.php skonfigurować specjalne klucze:
'replacement' => [
':home' => '<a href="' . env('APP_URL') . '">' . env('APP_NAME') . '</a>',
],
W powyższym przykładzie wstawienie w treści mailingu klucza :home spowoduje, że zostanie on zamieniony na link do strony głównej.
# Import listy adresów e-mail odbiorców
Prócz możliwości wysyłki mailingu do użytkowników serwisu oraz newslettera, iCore umożliwia zaimportowanie listy adresów e-mail w formacie JSON lub TXT. Prawidłowa struktura na poniższym przykładzie:
[
{
"email": "example1@example.pl"
},
{
"email": "example2@example.pl"
},
{
"email": "example3@example.pl"
}
]
example1@example.pl
example2@example.pl
example3@example.pl
W przypadku duplikatów pierwszeństwo mają adresy e-mail powiązane z modelem użytkowników, następnie z modelem newslettera, na końcu importowane z listy.
# Konfiguracja edytora treści WYSIWYG
Zgodnie z dokumentacją pluginu Trumbowyg z poziomu assetu JS:
/resources/js/vendor/icore/admin/scripts/plugins/trumbowyg.js