Wydrukuj tę dokumentację Pokaż jako slajdy

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:

Katalog na media do wiadmości newslettera

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.

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:

  1. Zrzucenie tylko danych
  2. Metoda REPLACE

  3. dołączaj nazwy kolumn w każdym zapytaniu INSERT
  4. (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


{i}  (c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.

  1. Czyli do danego czasu w przyszłości wiadomość nie zostanie rozesłana. (1)

  2. O ile nie jest nałożone embargo. (2)

PhpListPrzed340 (ostatnio edytowane 2019-04-12 09:11:51 przez wtps0n)