В данной статье рассказано, как работать с менеджером рассылки электронной почты phplist. Для установки и настройки, можно прочитать статью Установка и настройка phplist.
Входим в веб-панель администрирования phplist. Затем переходим в Config – Конфигурация:
В general settings проверяем, что название компании указано верно и добавляем логотип:
В разделе campaign settings необходимо правильно прописать адреса для исходящей почты, а также адреса для получения уведомлений.
Также в данном разделе, можно отредактировать HTML-код для нижнего колонтитула.
Переходим в раздел Подписчики – Списки рассылки:
Нажимаем по Добавить список рассылки:
Вводим название для списка и нажимаем Сохранить. В следующем окне нажимаем по Добавить еще подписчиков:
Теперь в текстовое поле «Введите адреса для импорта…» вводим email адреса — каждый адрес с новой строки. После нажимаем Импортировать подписчиков.
Переходим в раздел Компании – Шаблоны:
Кликаем по Добавить новый шаблон:
Вводим заголовок и создаем HTML-шаблон. В тексте шаблона обязательно включаем текст [CONTENT] — это указатель текста контента, который будет подставлен при отправке письма.
Кликаем по Сохранить изменения.
Переходим в раздел Компании – Отправить компанию:
Если откроется окно выбора черновика, выбираем его или кликаем по Создать новую компанию.
В открывшемся окне задаем тему письма, проверяем адрес отправителя, вводим текст для контента и переходим на вкладку Формат:
Выбираем шаблон и переходим на вкладку Списки:
Выбираем галочками все группы рассылки, адресатам которых должно быть направлено письмо и переходим на вкладку Отправка.
На заключительной вкладке просто кликаем по Отправить компанию в очередь:
По умолчанию, при создании новой компании для отправки рассылки нет возможности прикреплять файлы. Чтобы это исправить, заходим на сервер по SSH и открываем следующий конфигурационный файл:
vi /var/www/phplist/config/config.php
* где /var/www/phplist — путь по расположения портала phplist.
Добавляем:
define(“ALLOW_ATTACHMENTS”,1);define(“NUMATTACHMENTS”,1);define(“FILESYSTEM_ATTACHMENTS”,1);define(“MIMETYPES_FILE”,”/etc/mime.types”);define(“DEFAULT_MIMETYPE”,”application/octet-stream”);$attachment_repository = ‘/tmp’;
В списке вкладок при создании компании появится «Вложения»:
По умолчанию, phplist будет пытаться отправить письма через локальный MTA. При необходимости отправлять сообщения через определенный почтовый сервер, открываем на сервере конфигурационный файл:
Редактируем:
define(‘PHPMAILERHOST’, ‘192.168.1.15’);
… и добавляем:
define(‘PHPMAILERPORT’,25);$phpmailer_smtpuser = ‘smtpuser’;$phpmailer_smtppassword = ‘smtppass’;
* где
Большое число писем необходимо отправлять порциями. Для этого существует возможность настройки очередей — phplist будет отправлять сообщения по несколько штук в течение заданного времени.
Для настройки открываем конфигурационный файл phplist:
И добавим:
define(‘MAILQUEUE_BATCH_SIZE’, 120);define(‘MAILQUEUE_BATCH_PERIOD’, 180);define(‘MAILQUEUE_THROTTLE’, 1);define(‘MAILQUEUE_AUTOTHROTTLE’, 0);define(‘USE_DOMAIN_THROTTLE’, 0);define(‘DOMAIN_BATCH_SIZE’, 1);define(‘DOMAIN_BATCH_PERIOD’, 120);define(‘DOMAIN_AUTO_THROTTLE’, 0);define(‘MAX_PROCESSQUEUE_TIME’, 0);define(‘PROCESSCAMPAIGNS_PARALLEL’, 1);
* где:
Теперь создаем скрипт для запуска php-обработчика:
vi /usr/local/bin/phplist
#!/bin/bash
/usr/bin/php /var/www/phplist/admin/index.php -c /var/www/phplist/config/config.php $*
Задаем права на запуск скрипта:
chmod u+x /usr/local/bin/phplist
Проверяем работу скрипта, запустив его:
/usr/local/bin/phplist -pprocessqueue
Мы должны увидеть что-то на подобие:
phpList – phpList version 3.5.3-RC1 (c) 2000-2020 phpList Ltd, https://www.phplist.comphpList – Giving a UUID to 3 subscribers, this may take a whilephpList – Giving a UUID to 3 subscribers, this may take a while [0.0029020000] (131)phpList – Recently sent : 0phpList – Запущена [0.0045480000] (138)phpList – Отправка группами с количеством писем – 120 [0.0002150000] (139)phpList – Этап скрипта: 6 [0.0006350000] (143)phpList – Завершено, нечего выполнять [0.0001400000] (144)phpList – Завершено, все выполнено [0.0014480000] (149)
И последнее, создаем задачу в планировщике:
crontab -e
* * * * * /usr/local/bin/phplist -pprocessqueue
Чтобы наш сервер рассылки не попал в черные списки почтовых хостеров, необходимо предотвратить повторные рассылки на почтовые ящики, которых не существует или которые возвращают ошибки.
Для этого в phplist предусмотрена специальая процедура обработки. Для ее настройки открываем конфигурационный файл:
Находим настрйки и редактируем их:
$bounce_mailbox_host = ‘localhost’;$bounce_mailbox_user = ‘[email protected]’;$bounce_mailbox_password = ‘password’;
* где bounce_mailbox_host — почтовый сервер, где находится почтовый ящик с возвращенной почтой; bounce_mailbox_user — почтовый ящик, в котором находятся письма возвратов; bounce_mailbox_password — пароль для подключения к почтовому ящику.
Также обратите внимание на следующие параметры — их можно оставить по умолчанию или изменить по необходимости:
$bounce_protocol = ‘pop’;…define(‘MANUALLY_PROCESS_BOUNCES’, 1);…$bounce_mailbox_port = ‘110/pop3/notls’;…$bounce_mailbox_purge = 1;…$bounce_mailbox_purge_unprocessed = 1;…$bounce_unsubscribe_threshold = 5;
Теперь обработку отказов можно выполнить из командной строки:
/usr/local/bin/phplist -pprocessbounces
* обратите внимание, что мы используем скрипт /usr/local/bin/phplist, созданный нами при управлении очередями. Если скрипт не создавался, необходимо его создать сейчас.
Мы можем увидеть что-то на подобие:
phpList – phpList version 3.5.3-RC1 (c) 2000-2020 phpList Ltd, https://www.phplist.comphpList – Загрузить возвращённые письма из почтового ящикаphpList – Не прерывайте обработкуphpList – Закрытие почтового ящика и удаление писемphpList – reprocessingphpList – Возвращённые письма для повторной обработки – 5phpList – 5 из 5 обработаноphpList – Определение серии возвращённых писемphpList – Нет заданийphpList – Всего обработано подписчиков – 0
Данное изображение появляется в конце каждого письма при рассылке. С одной стороны — phplist бесплатное программное обеспечение и разработчик имеет право рекламировать свою систему, с другой — при рассылках многим подобная надпись в конце письма покажется лишней.
Настройками данную надпись не убрать — нужно лезть в код программы. Для этого открываем следующий файл:
vi /var/www/phplist/admin/sendemaillib.php
* где /var/www/phplist — месторасположение портала phplist.
Находим $PoweredByImage с следующей строке:
global $strThisLink, $strUnsubscribe, $PoweredByImage, $PoweredByText, $cached, $website, $counters;
И удаляем эту переменную — получится:
global $strThisLink, $strUnsubscribe, $PoweredByText, $cached, $website, $counters;
Пробуем сделать рассылку.
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies