Wydrukuj tę dokumentację Pokaż jako slajdy
Spis Treści
Uruchomienie phplist
phplist to oprogramowanie pozwalające na tworzenie kampanii mailowych dla zdefiniowanych grup użytkowników (adresów email). Owe kampanie mailwoe można wysyłać zgodnie z zadanym harmonogramem, tak aby serwery pocztowe rozsyłały maile w godzinach najmniejszego obciążenia.
Instalacja
Z wykorzystaniem własnego repozytroium pakietów należy zainstalować:
pkg install -y mail/phplist print/fpdf
Biblioteka print/fpdf jest wykorzystywana przez phplist (poprzez plik konfiguracyjny).
Konfiguracja
Konfiguracja nie jest mocno rozbudowana (pilk konfiguracyjny). Zdecydowana większość konfiguracje jest przechowywana w bazie danych (mySQL).
Lokalizacja (czyli polski panel administracyjny)
W celu uruchomienia panelu administracyjnego w języku polskim należy wykonać następujące kroki:
w pliku /usr/local/www/phplist/lists/admin/languages.php należy sprawdzić linijkę (skasowanie znaku komentarza) ze wsparciem dla języka polskiego; z jednoczesnym ustawieniem kodowania na UTF-8 - czy jest aktywna
Katalog na media do wiadmości newslettera
W celu załączania zdjęć czy innych obiektów multimedialnych w tworzonych wiadomościach, konieczne jest podanie adresu URL do nich. W tym celu został uruchomiony specjalny katalog (mapowany jako http://nowosci.doamain.tld/media/), do którego należy takie materiały umieszczać. Katalog jest dostępny poprzez FTP:
ftp://__user__:__haslo__@nowosci.domain.tld
Pliki, które mają być widoczne z poziomu przeglądarki należy umieścić w katalogu public/.
Można również wykorzystać mechanizm "katalogu zewnętrznego" w ownCloud.
Konfiguracja Apache'a
Elementem dodatkowym jest odpowiednia konfiguracja Apache'a
Katalog z aplikacją
<Directory "/usr/local/www/phplist">
Options MultiViews
AllowOverride AuthConfig FileInfo Limit Options Indexes
Require all granted
<IfModule mod_php5.c>
php_flag register_globals off
php_value default_charset "utf-8"
</IfModule>
<IfModule mod_expires.c>
Header set cache-control: public
ExpiresActive on
ExpiresDefault "access plus 1 month"
ExpiresByType text/html "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType image/png "access plus 3 month"
ExpiresByType image/jpg "access plus 3 month"
ExpiresByType image/jpeg "access plus 3 month"
ExpiresByType video/ogg "access plus 3 month"
ExpiresByType audio/ogg "access plus 3 month"
ExpiresByType video/mp4 "access plus 3 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType font/ttf "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
</IfModule>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
</IfModule>
</Directory>
Konfiguracja katalogu na media
<Directory "/var/www/htdocs/virtuals/nowosci-media/public">
Options MultiViews
AllowOverride None
Require all granted
<IfModule mod_php5.c>
php_flag register_globals off
php_value default_charset "utf-8"
</IfModule>
<IfModule mod_expires.c>
Header set cache-control: public
ExpiresActive on
ExpiresDefault "access plus 1 month"
ExpiresByType text/html "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType image/png "access plus 3 month"
ExpiresByType image/jpg "access plus 3 month"
ExpiresByType image/jpeg "access plus 3 month"
ExpiresByType video/ogg "access plus 3 month"
ExpiresByType audio/ogg "access plus 3 month"
ExpiresByType video/mp4 "access plus 3 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType font/ttf "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
</IfModule>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
</IfModule>
</Directory>
Przetwarzanie zwrotów (bounces)
phplist powinno posiadać konto typu POP3/IMAP, na które będą "spływać" zwrotki o błędnych adresach (niedostarczonych wiadomości). Dzięki temu jest możliwość automatycznego oznaczania błędnych adresów email odbiorców, aby przy ponownej wysyłce pomijać takie adresy. Konfiguracja takiego konta powinna znaleźć się w pliku konfiguracyjnym. Więcej można znaleźć w dokumentacji.
Użytkowanie interfejsu
Tworzenie list
Pierwszym krokiem jest utworzenie list wysyłkowych i dopisanie do nich użytkowników. Każdy email dopisany do listy musi być potwierdzony (głównie przez użytkownika), tak aby później newsletter trafił do takiego adresu.
Tworzenie wiadomości
Kolejnym krokiem jest utworzenie wiadomości. Nie tylko format oraz treść wiadomości (krok podstawowy), ale również określenie grupy odbiorców (albo całe listy, albo użytkownicy spełniający wybrane kryteria). Na każdym etapie tworzenia wiadomości istnieje możliwość wysłania testowego emaila, tak aby można było zobaczyć, co trafi do odbiorców newslettera. Ostatnim krokiem jest możliwość nałożenia embargo na taką wiadomość do konkretnego czasu w przyszłości1.
Rozesłanie wiadomości
Po otworzeniu i zapisaniu wiadomości, można je rozesłać2 do uczestników list. Są dwa tryby rozsyłania wiadomości: ręczny oraz automatyczny.
Tryb ręczny oznacza, że maile są generowane w momencie wywołania funkcji wysyłki (odnośnik processqueue).
Tryb automatyczny oznacza, że z cron-a jest uruchamiane cyklicznie zadanie, które spowoduje rozsyłanie wiadomości czekających w kolejce. Ten tryb pracy jest zalecany w przypadku posiadania dużej liczby użytkowników. Dodatkowym atutem jest możliwość rozsyłania listów w godzinach wieczornych, czy nocnych kiedy infrastruktura jest zdecydowanie mniej obciążona.
Aktualizacja do nowej wersji
Przy aktualizacji występuje problem tłumaczenia. Od wersji 3.x tłumaczenia przemigrowały do bazy danych (zamiast plików). Błędne tłumaczenia objawiają się pozycjami menu z tekstem "uaktualnij tłumaczenie".
Wykonanie aktualizacji tłumaczenia
W repozytorium skryptów jest plik (zapytanie SQL), który dokonuje aktualizacji tłumaczeń. Aby wykonać aktualizację, należy:
cat /root/phplist_i18n.sql | mysql -u root -p __phplist_db__
Następnie należy sprawdzić, czy nie istnieją wiersze, w tabeli phplist_i18n, które nadal należy przetłumaczyć:
echo "SELECT * FROM phplist_i18n WHERE lan='pl' AND translation LIKE 'uaktualnij%';" | mysql -u root -p __phplist_db__
Z dokładnością do wiersza pagetitle:updatetranslation, nie powinno nic więcej się pojawić.
Zrzucenie aktualnego tłumaczenia
Najprościej to wykonać za pomocą panelu PhpMyAdmin poprzez eksport wybranych wierszy z tabeli phplist_i18n. Po zalogowaniu do panelu przechodzimy do administracji tabelą phplist_i18n i wykonujemy zapytanie SQL:
SELECT * FROM phplist_i18n WHERE lan='pl';
Następnie wybieramy odnośnik do eksportu danych wszystkich wybranych wierszy (odnośnik na dole strony). W opcjach eksportu ustawiamy:
- Zrzucenie tylko danych
Metoda REPLACE
- dołączaj nazwy kolumn w każdym zapytaniu INSERT
- (pozostałe ustawienia bez zmian)
Tak wyeksportowany plik należy zapisać na serwerze jako /root/phplist_i18n.sql, aby posłużył przy kolejnej aktualizacji.
Źródła w sieci internet
(c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.

Gdy trzeba dołączyć inną (pod)stronę https://moinmo.in/HelpOnMacros/Include https://moinmo.in/HelpOnParsers
Nieprawidłowe argumenty "pagename, heading, level, from="regex", to="regex", sort=ascending|descending, items=n, skipitems=n, titlesonly, editlink"!