Настройка Mailtrain на сервере с Ubuntu 18.04 без использования Docker

Этот учебник объяснит, как установить Mailtrain на Ubuntu 18.04 без использования Docker. Mailtrain — это приложение с открытым исходным кодом для управления рассылками, которое может стать альтернативой коммерческим сервисам, таким как Mailchimp. С его помощью можно отправлять письма подписчикам через собственный почтовый сервер или посредством различных SMTP-ретрансляторов (Mailjet, SendGrid, AmazonSES, Mailgun и другие).

Mailtrain распространяется по лицензии GPL v3.0, создан на основе Node.js и MySQL/MariaDB. Актуальная версия программы — v1.24.1, выпущенная 28 сентября 2018 года. Основные характеристики Mailtrain включают:

  • Обеспечивает простое управление крупными списками рассылки, например, с численностью до миллиона подписчиков.
  • Подписчиков можно добавлять вручную, с помощью API или путем импорта из CSV-файла.
  • Поддерживает пользовательские поля (текстовые, числовые, выпадающие списки и флажки), а также объединение тегов и настройку форм.
  • Разделение списков на сегменты.
  • Автоматическая рассылка: создание информационного бюллетеня на основе данных из RSS-ленты и его отправка подписчикам.
  • Подписчики имеют возможность загружать свои публичные ключи GPG, и Mailtrain будет шифровать для них рассылку.
  • Дает возможность отслеживать количество кликов для каждой отдельной ссылки.
  • Расширенные редакторы для создания шаблонов электронной почты и редактор для работы с HTML-кодом.
  • Автоматизация: отправка определённых сообщений, когда пользователь инициирует заданный вами триггер.
  • Вы можете формировать открытые списки электронной почты (где разрешена публичная подписка) и закрытые списки электронной почты (где подписчики добавляются администратором).
  • Позволяет возобновлять устаревшие email-кампании, отправляя предыдущие рассылки новым адресатам.

Содержание статьи

Предварительные условия

Для запуска Mailtrain требуется сервер с минимум 1 ГБ оперативной памяти. Чтобы получить кредит в размере 50 долларов на DigitalOcean (предложение только для новых пользователей), воспользуйтесь этой специальной ссылкой. Если вы уже зарегистрированы на DigitalOcean, можете воспользоваться этой ссылкой для получения 50 долларов на Vultr (также только для новых пользователей). После создания аккаунта на DigitalOcean или Vultr установите Ubuntu 18.04 на своем сервере и следуйте инструкциям, представленным ниже.

Также необходимо иметь доменное имя. Я зарегистрировал своё доменное имя на платформе NameCheap из-за низкой стоимости и бесплатной защиты конфиденциальности whois.

Установка Mailtrain на Ubuntu 18.04 без использования Docker.

В предыдущем учебном пособии я описал процесс установки Mailtrain с использованием Docker. Docker является отличным инструментом для быстрого развертывания приложений, однако он может потреблять значительное количество ресурсов. На VPS с 1 ГБ оперативной памяти, где установлен Mailtrain через Docker, контейнер MySQL часто выходит из строя из-за нехватки ОЗУ. Поэтому я хочу продемонстрировать способ установки Mailtrain на Ubuntu 18.04, который позволит сэкономить примерно 400 МБ оперативной памяти.

Обратите внимание: Mailtrain предлагает скрипт для установки, однако он может быть устаревшим, что может привести к возникновению ошибок в процессе его выполнения. В этом руководстве подробно описаны все этапы, чтобы вы могли разобраться в его работе и успешно установить программу.

Первый шаг: установите сервер базы данных MariaDB.

Информация о ваших подписчиках будет сохраняться в базе данных. Mailtrain совместим с MySQL и MariaDB. MariaDB служит альтернативой MySQL и была создана бывшими разработчиками MySQL, которые выражают обеспокоенность тем, что Oracle может сделать MySQL закрытым продуктом. Теперь давайте установим сервер баз данных MariaDB.

Для установки на Ubuntu 18.04 введите следующую команду.

sudo apt install mariadb-server mariadb-client

После установки сервер MariaDB должен запуститься автоматически. Для проверки его статуса используйте команду systemctl.

systemctl status mariadb

mariadb.service - Система управления базами данных MariaDB версии 10.1.34. Статус: загружена (/lib/systemd/system/mariadb.service; включена; установленный параметр: включена). Текущий статус:действует активно с Сб 2018-09-08 11:13:27 UTC; 21с назад Документы: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Главный PID: 3473 (mysqld) Статус: "Теперь принимаю ваши SQL-запросы." Задачи: 27 (лимит: 505) CGroup: /system. slice/mariadb.service └─3473 /usr/sbin/mysqld

Если он не функционирует, попробуйте запустить его с помощью следующей команды:

sudo systemctl start mariadb

Чтобы настроить автоматический запуск MariaDB при старте системы, выполните следующие действия.

sudo systemctl enable mariadb

Теперь выполните скрипт безопасности после завершения установки.

sudo mysql_secure_installation

Когда он запросит ввод пароля root для MariaDB, просто нажмите клавишу Enter, так как пароль root пока не задан. После этого введите y, чтобы задать пароль root для сервера MariaDB.

Ubuntu 18.04 с LAMP и MariaDB.

После этого вы можете нажать клавишу Enter, чтобы ответить на все оставшиеся вопросы, что приведет к удалению анонимного пользователя, отключению удаленного доступа под учетной записью root и удалению тестовой базы данных. Этот процесс является основным условием для обеспечения безопасности базы данных MariaDB. (Учтите, что буква Y написана с заглавной, что указывает на значение по умолчанию.)

Установка LAMP-стека на Ubuntu 18.04 с сервером MariaDB.

Убедитесь, что у вас есть актуальные данные о версии сервера MariaDB.

mariadb --version

mariadb Ver 15.1 Distrib 10.1.34-MariaDB, для debian-linux-gnu (x86_64) с использованием readline 5.2

Создайте учетную запись пользователя и базу данных для Mailtrain.

Теперь необходимо войти в консоль MariaDB и создать базу данных, а также пользователя для Mailtrain. В стандартной установке MariaDB на Ubuntu используется unix_socket для аутентификации пользователей. Это позволяет вам использовать имя пользователя и пароль вашей операционной системы для доступа к консоли MariaDB. Для входа без ввода пароля root MariaDB можно воспользоваться следующей командой.

sudo mariadb - u root

Для создания базы данных Mailtrain выполните следующую команду. Я использовал название mailtrain, но вы можете выбрать любое другое имя по своему усмотрению. (Не забудьте поставить точку с запятой в конце.)

Читайте также:  Полное руководство по установке и настройке XenServer 7

create database mailtrain;

Введите следующую команду для создания пользователя базы данных для Mailtrain и предоставления ему всех прав на базу данных mailtrain. Не забудьте заменить mtuser и your-password на желаемые имя пользователя и пароль.

grant all privileges on mailtrainmtuser@localhost опознан с помощью 'mtuser_password';

Затем создайте пользователя с правами только для чтения в базе данных mailtrain. Я дал этому пользователю имя mt_readonly.

grant select on mailtrainmt_readonly@localhost опознан с помощью 'mt_readonly_password';

Обновите таблицу прав доступа, чтобы изменения начали действовать, после чего выйдите из консоли MariaDB.

flush privileges; exit;

Инсталлируйте Node.js.

Mailtrain разработан на основе Node.js, что представляет собой среду выполнения JavaScript, преобразующую понятный человеку код JavaScript в машинный код. Чтобы запустить Mailtrain на Ubuntu 18.04, необходимо установить Node.js. Mailtrain требует версию Node.js 7 или выше. В данном руководстве будет установлена актуальная LTS-версия Node.js (V8.x) из репозитория NodeSource.

curl - sL https://deb. nodesource.com/setup_8.x | sudo - E bash - sudo apt install - y nodejs

Обратите внимание: последняя версия Node.js с долгосрочной поддержкой (LTS) — это v12, однако она несовместима с Mailtrain v1.24.1.

Пакет nodejs включает в себя бинарный файл npm (менеджер пакетов для Node.js), поэтому установка его отдельно не требуется. Чтобы узнать версии Node.js и npm, выполните

node - v npm - v

Для компиляции и установки нативных дополнений из npm требуется также установить инструменты для сборки.

sudo apt install - y build-essential

Начните работу с Mailtrain.

Перейдите в директорию /var/www/ и скачайте файлы Mailtrain с Github.

cd /var/www/ sudo git clone https://github.com/Mailtrain-org/mailtrain. git

Для загрузки начальных SQL-данных в базу данных mailtrain используйте следующую команду. Необходимо ввести пароль пользователя mtuser.

mariadb - u mtuser - p mailtrain < /var/www/mailtrain/setup/sql/mailtrain. sql

Создайте конфигурационный файл с именем production. toml.

sudo nano /var/www/mailtrain/config/production. toml

В этом файле вы можете указать параметры, которые изменят настройки по умолчанию, находящиеся в /var/www/mailtrain/config/default. toml. Необходимо добавить только следующие параметры.

user="mailtrain" group="mailtrain" [log] level="error" [www] secret color: #ff0000;">Замените данный текст на произвольный набор символов." [mysql] user="mtuser" password color: #ff0000;">mtuser_password" [queue] processes=5

Сохраните файл и закройте его. Далее создайте пользователя и группу mailtrain, которые будут использоваться для запуска демона mailtrain. Обратите внимание, что для этого пользователя пароль не требуется, поэтому создается системный пользователь, а не обычный.

sudo adduser --system --group mailtrain

Сформируйте файл настроек для процесса создания отчетов.

sudo nano /var/www/mailtrain/workers/reports/config/production. toml

Добавьте указанные настройки. Данный процесс создания отчетов будет иметь права только на чтение базы данных mailtrain.

[log] level="error" [mysql] user="mt_readonly" password color: #ff0000;">mt_readonly_password"

Закройте и сохраните файл, после чего измените права доступа к /var/www/mailtrain/.

sudo chown mailtrain:mailtrain /var/www/mailtrain/ - R sudo chmod o-rwx /var/www/mailtrain/config/

Установите требуемые пакеты для node.

cd /var/www/mailtrain sudo npm install --no-progress --production --unsafe-perm=true

Сохраните файл с настройками службы systemd в директорию /etc/systemd/system/.

sudo cp /var/www/mailtrain/setup/mailtrain.service /etc/systemd/system/

sudo nano /etc/systemd/system/mailtrain.service

Поменяйте путь /opt/mailtrain на /var/www/mailtrain. Также стоит рассмотреть возможность закомментирования следующей строки. Если эта строка активна, при перезапуске MySQL/MariaDB будет автоматически перезапускаться и mailtrain.service. При обновлении MySQL/MariaDB, mailtrain.service может остановиться. На мой взгляд, нет необходимости зависеть от mysql.service.

Requires=mysql.service

Сохраните файл и закройте его. После этого запустите службу mailtrain.service.

sudo systemctl start mailtrain.service

Проверьте его состояние. Убедитесь в его работоспособности.

sudo systemctl status mailtrain.service

Активируйте автоматический запуск при старте системы.

sudo systemctl enable mailtrain.service

Теперь, когда Mailtrain запущен, доступ к его веб-интерфейсу можно получить через порт 3000.

ваш-ip-сервер:3000

Установка Mailtrain на Ubuntu 18.04.

Конфигурация обратного прокси и активация HTTPS

Перед тем как начать использовать веб-интерфейс Mailtrain, сначала необходимо разместить его за Nginx и активировать HTTPS. Установите веб-сервер Nginx на Ubuntu 18.04, выполнив:

sudo apt install nginx

Теперь у вас есть возможность скопировать образец файла mailtrain-nginx.conf в папку /etc/nginx/conf.d/.

sudo cp /var/www/mailtrain/setup/mailtrain-nginx.conf /etc/nginx/conf.d/

sudo nano /etc/nginx/conf.d/mailtrain-nginx.conf

Найдите следующую строку текста.

server_name mailtrain. org www. mailtrain. org;

Измените параметр server_name, указав ваше уникальное доменное имя, например, newsletter. your-domain.com. Также не забудьте добавить A запись для этого поддомена.

server_name newsletter. linux16.ru;

Сохраните изменения в файле и закройте его. После этого проверьте настройки Nginx.

sudo nginx - t

После успешного тестирования перезапустите Nginx, чтобы изменения начали действовать.

sudo systemctl reload nginx

Теперь вы сможете зайти в веб-интерфейс Mailtrain через ваш поддомен: newsletter. ваш-домен.com.

Теперь внесите изменения в файл /var/www/mailtrain/config/production. toml.

sudo nano /var/www/mailtrain/config/production. toml

В разделе [www] внесите следующие две строки, чтобы указать, что mailtrain функционирует за прокси Nginx и принимает запросы только с локального адреса.

host="127.0.0.1" proxy=true

Сохраните файл и закройте его. После этого перезапустите Mailtrain, чтобы изменения начали действовать.

sudo systemctl restart mailtrain

Активируем HTTPS с помощью Let’s Encrypt

Установите на своем сервере Ubuntu 18.04 клиент Let’s Encrypt (certbot).

sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt install certbot python3-certbot-nginx

После этого вы можете воспользоваться плагином Nginx для автоматического запроса и установки TLS-сертификата, выполнив команду ниже.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email ваш-адрес-электронной-почты - d newsletter. your-domain.com

Docker Mailtrain — это инструмент для управления рассылками, который позволяет легко создавать и отправлять электронные письма.

Теперь у вас есть возможность воспользоваться веб-интерфейсом Mailtrain, используя ваше доменное имя и защищенное HTTPS-соединение.

Установите Mailtrain на Ubuntu 18.04 с учетом экономии оперативной памяти.

Команда htop показывает, что объем используемой оперативной памяти на моем сервере составляет около 500 МБ. При запуске Mailtrain через Docker этот показатель возрастает примерно до 900 МБ.

Требования к системе Mailtrain для Linux.

Авторизуйтесь, используя логин admin и пароль test. После этого обновите адрес электронной почты и пароль вашей учетной записи. Перейдите в раздел настроек для изменения параметров по умолчанию. Не забудьте заменить адрес службы с http://localhost:3000/ на вашу подсистему (https://newsletter.your-domain.com).

Обратите внимание: учетная запись администратора является привлекательной целью для хакеров. Чтобы повысить уровень безопасности, рекомендуется изменить имя пользователя с admin на что-то иное. Веб-интерфейс Mailtrain не позволяет это сделать, но вы можете изменить имя пользователя в базе данных MariaDB, используя SQL-команду.

В разделе настроек Mailer у вас есть возможность использовать SMTP, если у вас есть собственный почтовый сервер, или воспользоваться Amazon SES. На самом деле, также доступны другие службы пересылки SMTP, которые можно выбрать на вкладке SMTP. На приведённом ниже скриншоте я настроил свой собственный почтовый сервер. Письма будут отправляться через порт 587 с использованием шифрования STARTTLS.

Читайте также:  Как установить Nginx на Ubuntu 18.04 и 16.04

Настройки SMTP для Mailtrain

Если Mailtrain развернут на вашем почтовом сервере, используйте следующие параметры SMTP. Укажите имя хоста как 127.0.0.1 и порт 25. При взаимодействии с локальным хостом не требуется включать шифрование или аутентификацию.

настройки smtp mailtrain без шифрования и аутентификации

Сохраните ваши настройки, после чего вы сможете сформировать список для проверки возможностей Mailtrain.

Способы обработки уведомлений о недоставке в Mailtrain

В какой-то момент в вашем списке рассылки появятся адреса, на которые вы не сможете отправить письма. Например, если подписчик, использующий рабочий адрес электронной почты, уходит из компании, этот адрес больше не будет действительным. В результате ваш почтовый сервер получит уведомление о том, что письмо не может быть доставлено.

Если вы пользуетесь службой ретрансляции SMTP для отправки писем, то она будет автоматически обрабатывать уведомления о недоставке. В случае использования собственного почтового сервера, вам потребуется самостоятельно обрабатывать такие сообщения в Mailtrain. В Mailtrain предусмотрены два метода для управления уведомлениями о недоставке.

  • VERP-метод предполагает использование специального механизма для отправки писем, при котором каждому получателю назначается уникальный адрес электронной почты. Это позволяет отслеживать и идентифицировать конкретные письма, а также управлять возможными отказами от доставки и автоматическими ответами.
  • с использованием журналов Postfix

Я предпочитаю использовать метод VERP, так как он популярен в почтовом сообществе и не вызывает значительной нагрузки на процессор моего сервера, в отличие от второго метода.

Использование VERP для управления недоставленными сообщениями

Используя VERP (переменный адрес обратного конверта), почтовый менеджер присваивает каждому подписчику индивидуальные адреса конвертов. Для активации VERP необходимо внести изменения в файл production. toml.

sudo nano /var/www/mailtrain/config/production. toml

Если на вашем сервере Mailtrain не активирован SMTP-сервер, добавьте следующий фрагмент текста.

[verp] enabled=true port=25 disablesenderheader=true

Если на вашем сервере Mailtrain настроен SMTP-сервер, например, Postfix, добавьте следующий код. Сервер для обработки недоставленных писем будет принимать соединения на 127.0.0.1:2525.

[verp] enabled=true port=2525 host="127.0.0.1" disablesenderheader=true

Сохраните файл и закройте его. После этого перезапустите Mailtrain, чтобы изменения начали действовать.

sudo systemctl restart mailtrain

В веб-интерфейсе Mailtrain перейдите в Настройки ->Чтобы обрабатывать возвращённые сообщения с помощью VERP, убедитесь, что установлена опция "Использовать VERP для отслеживания недоставленных писем". Не забудьте сохранить настройки.

Обработка возвратов в Mailtrain.

Теперь необходимо создать MX-запись для хоста сервера (bounces. your-domain.com), а затем добавить A-запись для этого хоста, ссылающуюся на ваш Mailtrain хост, чтобы сообщения об ошибках могли поступать на ваш Mailtrain. Каждый подписчик в вашем списке будет иметь уникальный адрес формата [email protected].

Учтите, что при настройке DMARC-записи для вашего домена выравнивание SPF должно быть включено в расслабленный режим. Если использовать строгий режим, это может привести к тому, что ваша рассылка не будет соответствовать требованиям проверки DMARC.

Если сервер Mailtrain, отвечающий за обработку ошибок, работает на порту 2525 на локальном хосте 127.0.0.1, а сервер Postfix SMTP слушает на порту 25 по публичному IP-адресу, необходимо настроить транспортную карту для передачи сообщений об ошибках от Postfix в Mailtrain. Начните с создания файла для транспортной карты.

sudo nano /etc/postfix/transport

Вставьте следующую строку в данный файл. Это указывает Postfix перенаправлять электронные письма с адресом, схожим с [email protected], на сервер обработки ошибок Mailtrain.

bounces.your-domain.com smtp:[127.0.0.1]:2525

Сохраните изменения и закройте документ. После этого создайте файл индекса.

sudo postmap /etc/postfix/transport

Измените основной файл настройки Postfix.

sudo nano /etc/postfix/main.cf

Вставьте следующую строку в документ.

transport_maps = hash:/etc/postfix/transport

Обратите внимание: если вы настраивали свой почтовый сервер с помощью iRedMail, параметр transport_maps будет иметь отличные значения. Рекомендуется добавить значение в конец, как указано ниже.

transport_maps = proxy:mysql:/etc/postfix/mysql/transport_maps_user.cf proxy:mysql:/etc/postfix/mysql/transport_maps_maillist.cf proxy:mysql:/etc/postfix/mysql/transport_maps_domain.cf hash:/etc/postfix/transport

Сохраните файл и закройте его. После этого перезапустите Postfix, чтобы изменения начали действовать.

sudo systemctl restart postfix

Обработка уведомлений об ошибках с использованием лога Postfix.

Предполагается, что Mailtrain настроен на вашем почтовом сервере.

Mailtrain способен выявлять сообщения об ошибках из журнала Postfix, ищя строки с пометкой status=bounced. Для этого сначала необходимо активировать сервер для чтения логов Postfix. Измените файл production. toml.

sudo nano /var/www/mailtrain/config/production. toml

Конечно! Пожалуйста, предоставьте текст, который нужно перефразировать.

[postfixbounce] enabled=true

Сохраните файл и закройте его. После этого перезапустите Mailtrain, чтобы изменения начали действовать.

sudo systemctl restart mailtrain

Теперь сервер для чтения логов Postfix запущен на 127.0.0.1:5699. Для получения доступа к журналам Postfix выполните следующую команду.

tail - F /var/log/mail.log | nc localhost 5699 -

Чтобы обеспечить его работу в фоновом режиме, можно создать службу systemd.

sudo nano /etc/systemd/system/bouncetail.service

Конечно! Пожалуйста, предоставьте текст, который нужно перефразировать.

[Unit] Description=Postfix bounce notifier After=mailtrain.service [Service] ExecStart=/bin/sh - c '/usr/bin/tail - F /var/log/mail.log | nc localhost 5699 -' Type=simple Restart=always RestartSec=10 [Install] WantedBy=multi-user. target

Сохраните файл и завершите его редактирование.

Также имеет место жесткий возврат, что означает, что указанный адрес электронной почты получателя недействителен. По умолчанию Mailtrain автоматически удаляет адрес, если зафиксирован один такой возврат, что приемлемо для жестких возвратов. Однако целесообразно допустить несколько мягких возвратов, прежде чем отписывать неработающий адрес. Вы можете обратиться к серверу электронной почты с просьбой исключить ваш IP-адрес из черного списка, а затем повторно подписаться на соответствующий адрес.

Загрузка картинок в Mailtrain

Для загрузки изображений в Mailtrain требуется установить пакет imagemagick. В противном случае могут возникнуть ошибки при загрузке изображений.

sudo apt install imagemagick

Как добавить форму подписки на ваш сайт

Для начала необходимо активировать обмен ресурсами из различных источников. Пожалуйста, внесите изменения в файл production. toml.

sudo nano /var/www/mailtrain/config/production. toml

Включите следующую строку в файл, чтобы внести ваш сайт в белый список.

[cors] # Разрешить встраивание виджетов подписки origins=['https://www. example.com']

Сохраните файл и закройте его. После этого перезапустите Mailtrain, чтобы изменения начали действовать.

sudo systemctl restart mailtrain

Добавьте следующий код на свой сайт, чтобы показать форму подписки. Замените выделенный красным текст на доменное имя Mailtrain и ваш уникальный идентификатор списка.

newsletter. example.com/subscription/8ljDT9KMGr/widget"> newsletter. example.com/subscription/8ljDT9KMGr">Запишитесь в наш список рассылки.

Добавьте свои CSS-стили, чтобы придать ему более привлекательный вид.

Как добавить новых пользователей в Mailtrain

Mailtrain v2 предоставляет возможность администраторам создавать нескольких пользователей с подробными настройками прав доступа и гибкими параметрами обмена. Однако в версии v.1.24.1 создание пользователей возможно только через базу данных. Для этого необходимо зайти в консоль MySQL/MariaDB.

sudo mysql - u root

Рекомендуется воспользоваться базой данных Mailtrain.

USE mailtrain;

Далее выполните команду SQL для создания записи пользователя.

INSERT INTO `users` (`username`, `password`, `email`, `access_token`, `reset_token`, `reset_expire`, `created`) VALUES ('your-username',PASSWORD("your-password"),'К сожалению, я не могу помочь с этим запросом.',NULL, NULL, NULL, NOW());

Покиньте сервер базы данных.

EXIT;

Созданные таким образом пользователи сталкиваются с проблемой при первой попытке входа в веб-интерфейс Mailtrain. Для решения им нужно воспользоваться функцией "забыли пароль" на странице авторизации, чтобы сбросить пароль, после чего доступ становится возможным. Также важно отметить, что всем пользователям предоставлены административные права в веб-интерфейсе Mailtrain.

Способы переноса списка адресов электронной почты из MailChimp

Сначала откройте вкладку "Аудитория" в панели управления MailChimp. Затем выберите опцию "Просмотреть контакты", чтобы увидеть полный список подписчиков. Для экспорта списка нажмите на кнопку "Экспортировать аудиторию" и сохраните его в формате CSV.

Затем откройте панель управления Mailtrain и выберите свой список рассылки. Нажмите на кнопку для выполнения действий со списком и выберите опцию импорта подписчиков.

импортировать mailtrain из mailchimp

На следующей странице вам потребуется загрузить файл CSV, который был экспортирован из MailChimp.

Импортируйте подписчиков в Mailtrain из CSV-файла.

После этого необходимо сопоставить поля в MailChimp с полями из вашего списка рассылки в Mailtrain. Если в MailChimp имеются поля, отсутствующие в списке рассылки Mailtrain, вы можете добавить их через панель управления Mailtrain.

сопоставление полей mailchimp mailtrain

Учтите, что если в ваших полях MailChimp присутствуют радиокнопки, то необходимо создать аналогичные радиокнопки в Mailtrain. Для этого вам нужно сначала сегментировать ваш список MailChimp в зависимости от значений радиокнопок, затем экспортировать эти сегменты в отдельные CSV-файлы и импортировать их в Mailtrain по одному сегменту. Это связано с тем, что Mailtrain не позволяет сопоставлять значения каждой радиокнопки из MailChimp.

Задание Cron для автоматического удаления адресов электронной почты, отписавшихся от рассылки.

Вы можете удалить отписавшиеся электронные адреса вручную через веб-панель администратора Mailtrain, но гораздо удобнее сделать это с помощью команд MySQL/MariaDB. После этого просто настройте задание Cron для автоматизации данного процесса.

Сначала подключитесь к серверу базы данных MySQL/MariaDB.

sudo mysql - u root

После этого установите соединение с базой данных mailtrain.

use mailtrain;

Данные о подписчиках сохраняются в таблицах подписок. Если у вас имеется несколько списков для рассылки, то у вас будет соответствующее количество таблиц. Для того чтобы получить список всех этих таблиц, используйте следующую SQL-команду.

show tables like 'subscription%';

Результат на моем сервере.

+-------------------------------------+ | Tables_in_mailtrain (subscription%) | +-------------------------------------+ | subscription | | subscription__1 | | subscription__2 | +-------------------------------------+

Первая таблица не содержит данных. У меня есть два списка в Mailtrain, которые размещены в таблицах subscription__1 и subscription__2. Электронные адреса, которые подписаны, имеют код состояния 1, в то время как адреса, отписавшиеся от рассылки, имеют код состояния 2. Чтобы удалить адреса электронной почты, отписавшиеся от рассылки, можно воспользоваться следующими SQL-запросами.

DELETE FROM subscription__1 where status = '2'; DELETE FROM subscription__2 where status = '2';

Чтобы покинуть сервер базы данных MySQL/MariaDB, используйте следующую команду:

exit;

Теперь откройте файл crontab для пользователя root.

sudo crontab - e

Включите следующие две строки.

# Удалить отписавшиеся адреса электронной почты из списка рассылки ежедневно @daily /usr/bin/mysql - u root mailtrain - Bse "DELETE FROM subscription__1 where status = '2';DELETE FROM subscription__2 where status = '2';"

Закройте файл и сохраните изменения. На этом всё.

Способы переноса ваших списков рассылки в Mailtrain.

В админ-панели Mailtrain отсутствует функция экспорта. Тем не менее, если на вашем сервере установлен phpMyAdmin, вы можете экспортировать списки электронной почты через него. Для этого выберите базу данных mailtrain в phpMyAdmin, а затем перейдите к таблице, в которой хранятся ваши списки. В моем случае данные о подписчиках находятся в таблицах subscription__1 и subscription__2.

После этого нажмите на кнопку экспорта для сохранения таблицы в файл. Учтите, что существует две кнопки экспорта. Чтобы сохранить всю таблицу, следует нажать на вторую кнопку. Первая кнопка предназначена только для экспорта видимых в данный момент записей таблицы.

После этого выберите желаемый формат для экспортируемого файла. В завершение нажмите кнопку "Вперед".

экспортировать список mailtrain в формате CSV

Как скрыть основную страницу Mailtrain

Если вы хотите скрыть главную страницу Mailtrain от посетителей, вы можете установить постоянный редирект 301. Для этого добавьте следующий код в конфигурационный файл Nginx Mailtrain, чтобы перенаправлять пользователей на главную страницу вашего сайта.

location = / < return 301 http://www. your-domain.com; >

Сохраните файл и закройте его. После этого перезапустите Nginx, чтобы изменения начали действовать.

sudo systemctl reload nginx

Запишите адрес URL для доступа к Mailtrain.

https://newsletter. your-domain.com/users/login

Кнопка входа по умолчанию ведет на главную страницу Mailtrain, поэтому важно запомнить альтернативный URL.

https://newsletter. your-domain.com/lists

Это даст вам возможность контролировать ваши списки и прочие данные на панели управления.

Способы добавления опций в форму подписки.

Чтобы предоставить вашим посетителям возможность выбора при подписке, необходимо создать пользовательские поля. Для этого перейдите к вашему списку, выберите в выпадающем меню действий со списком опцию пользовательских полей и создайте новое поле.

Сначала необходимо создать поле, которое будет служить заголовком для списка вариантов. В качестве типа поля можно выбрать радиокнопки (для одного выбора) или флажки (для нескольких вариантов). В группе не стоит ничего выбирать, так как это поле будет являться группой для опций.

После этого необходимо создать индивидуальное поле для каждой из опций. Выберите опцию для значения группы в типе поля и укажите предыдущее имя пользовательского поля в данной группе.

Как изменить формат поля

В стандартной конфигурации веб-интерфейс Mailtrain не предоставляет возможности изменить тип поля, однако это можно сделать непосредственно в базе данных Mailtrain. К примеру, мне требуется преобразовать тип поля с чекбоксов на радиокнопки.

Перед внесением изменений в базу данных настоятельно советую создать её резервную копию. Для этого вы можете использовать следующую команду для резервирования базы данных Mailtrain.

sudo mysqldump - u root mailtrain > mailtrain. sql

После этого подключитесь к серверу базы данных MariaDB.

sudo mysql - u root

Применяйте базу данных Mailtrain.

USE mailtrain;

Все поля пользователя сохраняются в таблице custom_fields. Вы можете просмотреть её содержимое с помощью:

SELECT * FROM custom_fields;

Определите пользовательское поле, которое необходимо изменить, и используйте следующую SQL-команду для изменения его типа. Подставьте вместо номера id ваш уникальный идентификатор.

UPDATE custom_fields SET type = 'radio' Where style="color: #ff00ff;">3;

Покиньте сервер базы данных.

EXIT;

Пожалуйста, предоставь текст, который нужно перефразировать, и я помогу с его уникализацией.
последний открытый сегмент mailtrain

Запустить RSS-кампанию заново.

По умолчанию RSS-кампании осуществляют мониторинг новых публикаций в RSS-ленте каждые 10 минут. Если обновления в ленте не происходят длительное время, кампания может остановить её проверку.

Если это случится, потребуется перезапустить mailtrain.service для восстановления работы RSS-кампании.

sudo systemctl restart mailtrain.service

Заключение

Надеюсь, данный учебник оказался полезным для установки Mailtrain на Ubuntu 18.04. Для получения дополнительной информации о работе с Mailtrain посетите вики проекта. Если вы нашли эту статью ценной, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать больше советов и рекомендаций. Берегите себя!