Listmonk з функцією переадресації електронної пошти для безпечної доставки розсилки

Цей посібник надає розробникам покрокові інструкції з налаштування Листмонк, потужний менеджер розсилки та розсилки з відкритим кодом, для використання Переслати електронну пошту як його SMTP-провайдера. Ця комбінація дозволяє ефективно керувати вашими кампаніями, забезпечуючи безпечну, конфіденційну та надійну доставку електронної пошти.

  • ЛистмонкЗаймається управлінням підписниками, організацією списків, створенням кампаній та відстеженням ефективності.
  • Переслати електронну поштуВиконує функцію безпечного SMTP-сервера, обробляючи фактичне надсилання електронних листів за допомогою вбудованих функцій безпеки, таких як SPF, DKIM, DMARC та шифрування TLS.

Інтегруючи ці два сервіси, ви зберігаєте повний контроль над своїми даними та інфраструктурою, використовуючи при цьому надійну систему доставки Forward Email.

  • Відкрите джерелоЯк Listmonk, так і принципи, що лежать в основі пересилання електронної пошти, наголошують на прозорості та контролі. Ви самі розміщуєте Listmonk і володієте своїми даними.
  • Орієнтований на конфіденційністьФункція «Пересилання електронної пошти» створена з урахуванням конфіденційності, мінімізуючи зберігання даних та зосереджуючись на безпечній передачі.
  • Економічно ефективнийListmonk безкоштовний, а Forward Email пропонує щедрі безкоштовні рівні та доступні платні плани, що робить його бюджетним рішенням.
  • МасштабованістьListmonk має високу продуктивність, а інфраструктура Forward Email розроблена для надійної доставки у великих масштабах.
  • Зручний для розробниківListmonk пропонує надійний API, а Forward Email забезпечує просту інтеграцію SMTP та вебхуки.

Перш ніж почати, переконайтеся, що у вас є наступне:

  • Віртуальний приватний сервер (VPS) з новим дистрибутивом Linux (рекомендовано Ubuntu 20.04+) з щонайменше 1 процесором та 1 ГБ оперативної пам'яті (рекомендовано 2 ГБ).
  • Доменне ім'я, яке ви контролюєте (потрібен доступ до DNS).
  • Активний обліковий запис у Переслати електронну пошту.
  • Корінь або sudo доступ до вашого VPS.
  • Базове знайомство з операціями командного рядка Linux.

Ці кроки допоможуть вам встановити Listmonk за допомогою Docker та Docker Compose на вашому VPS.

1. Оновіть свій сервер

Переконайтеся, що список пакетів вашої системи та встановлені пакети оновлені.

sudo apt update && sudo apt upgrade -y

2. Встановлення залежностей

Встановіть Docker, Docker Compose та UFW (нескладний брандмауер).

sudo apt install -y docker.io docker-compose ufw

3. Завантажте конфігурацію Listmonk

Створіть каталог для Listmonk та завантажте офіційний файл docker-compose.yml файл.

mkdir listmonk && cd listmonk
curl -Lo docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml

Цей файл визначає контейнер програми Listmonk та необхідний для нього контейнер бази даних PostgreSQL.

4. Налаштування брандмауера (UFW)

Дозвольте важливий трафік (SSH, HTTP, HTTPS) через брандмауер. Якщо ваш SSH працює на нестандартному порту, налаштуйте його відповідно.

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

Підтвердіть увімкнення брандмауера, коли буде запропоновано.

5. Налаштуйте доступ HTTPS

Запуск Listmonk через HTTPS є критично важливим для безпеки. У вас є два основні варіанти:

Якщо DNS вашого домену керується Cloudflare, ви можете скористатися їхньою функцією проксі-сервера для зручного HTTPS.

  1. Точка DNSСтворити A запис у Cloudflare для вашого піддомену Listmonk (наприклад, listmonk.yourdomain.com), що вказує на IP-адресу вашого VPS. Переконайтеся, що Статус проксі-сервера встановлено на Проксі (помаранчева хмара).
  2. Змінити Docker ComposeРедагувати docker-compose.yml файл, який ви завантажили:
    sed -i 's/9000:9000/80:9000/' docker-compose.yml
    
    Це робить Listmonk доступним внутрішньо на порту 80, який Cloudflare може потім проксіювати та захищати за допомогою HTTPS.

Варіант B: Використання зворотного проксі-сервера (Nginx, Caddy тощо)

Або ж ви можете налаштувати зворотний проксі-сервер, такий як Nginx або Caddy, на вашому VPS для обробки HTTPS-завершення та проксі-запитів до Listmonk (за замовчуванням працює на порту 9000).

  • Зберегти значення за замовчуванням ports: - "127.0.0.1:9000:9000" в docker-compose.yml щоб забезпечити доступ до Listmonk лише локально.
  • Налаштуйте вибраний зворотний проксі-сервер для прослуховування портів 80 та 443, обробки отримання SSL-сертифіката (наприклад, через Let's Encrypt) та пересилання трафіку на http://127.0.0.1:9000.
  • Детальне налаштування зворотного проксі-сервера виходить за рамки цього посібника, але багато навчальних посібників доступні в Інтернеті.

6. Запустіть Listmonk

Поверніться до свого listmonk каталог (якщо ви ще там не перебуваєте) та запустіть контейнери в окремому режимі.

cd ~/listmonk # Or the directory where you saved docker-compose.yml
docker compose up -d

Docker завантажить необхідні образи та запустить застосунок Listmonk і контейнери бази даних. Першого разу це може зайняти хвилину-дві.

Доступ до ListmonkТепер ви маєте мати доступ до веб-інтерфейсу Listmonk через налаштований вами домен (наприклад, https://listmonk.yourdomain.com).

7. Налаштуйте SMTP для пересилання електронної пошти в Listmonk

Далі налаштуйте Listmonk для надсилання електронних листів, використовуючи ваш обліковий запис Forward Email.

  1. Увімкніть SMTP у пересиланні електронної поштиПереконайтеся, що ви створили облікові дані SMTP на панелі інструментів облікового запису переадресації електронної пошти. Дотримуйтесь інструкцій. Посібник з пересилання електронної пошти для надсилання електронної пошти з користувацьким доменом через SMTP якщо ви ще цього не зробили.
  2. Налаштування ListmonkУвійдіть до панелі адміністратора Listmonk.
    • Перейти до Налаштування -> SMTP.

    • Listmonk має вбудовану підтримку пересилання електронної пошти. Виберіть Переслати електронну пошту зі списку постачальників або вручну введіть такі дані:

      НалаштуванняЗначення
      Хостsmtp.forwardemail.net
      Порт465
      Протокол авторизаціїLOGIN
      Ім'я користувачаВаш пересилальний електронний лист Ім'я користувача SMTP
      ПарольВаш пересилальний електронний лист Пароль SMTP
      TLSSSL/TLS
      З електронної поштиВаш бажаний From адреса (наприклад, newsletter@yourdomain.com). Переконайтеся, що цей домен налаштовано в розділі «Пересилання електронної пошти».
    • важливоЗавжди використовувати порт 465 з SSL/TLS для безпечних з’єднань із функцією пересилання електронної пошти. Не використовуйте STARTTLS (порт 587).

    • Натисніть Зберегти.

  3. Надіслати тестовий електронний лист: Скористайтеся кнопкою «Надіслати тестовий електронний лист» на сторінці налаштувань SMTP. Введіть адресу одержувача, до якої ви маєте доступ, і натисніть НадіслатиПеревірте, чи електронний лист надійшов до поштової скриньки одержувача.

8. Налаштування обробки відмов

Обробка повернення листів дозволяє Listmonk автоматично обробляти електронні листи, які не вдалося доставити (наприклад, через недійсні адреси). Функція «Пересилання електронної пошти» надає вебхук для сповіщення Listmonk про повернення.

Налаштування пересилання електронної пошти

  1. Увійдіть у свій Панель керування пересиланням електронної пошти.
  2. Перейти до Домени, виберіть домен, який ви використовуєте для надсилання, і перейдіть на його Налаштування сторінки.
  3. Прокрутіть униз до URL-адреса веб-перехоплення розділ.
  4. Введіть наступну URL-адресу, замінивши <your_listmonk_domain> з фактичним доменом або піддоменом, де доступний ваш екземпляр Listmonk:
    https://<your_listmonk_domain>/webhooks/service/forwardemail
    
    приклад: https://listmonk.yourdomain.com/webhooks/service/forwardemail
  5. Прокрутіть далі вниз до Ключ перевірки корисного навантаження підпису Webhook розділ.
  6. Скопіювати згенерований ключ підтвердження. Він знадобиться вам у Listmonk.
  7. Збережіть зміни в налаштуваннях домену пересилання електронної пошти.

Налаштування Listmonk

  1. У панелі адміністратора Listmonk перейдіть до Налаштування -> Відмови.
  2. Увімкнути Увімкнути обробку відмов.
  3. Увімкнути Увімкнути вебхуки відмов.
  4. Прокрутіть униз до Постачальники вебхуків розділ.
  5. Увімкнути Переслати електронну пошту.
  6. Вставте Ключ перевірки корисного навантаження підпису Webhook ви скопіювали з панелі інструментів «Пересилання електронної пошти» до Ключ пересилання електронної пошти поле.
  7. Натисніть Зберегти внизу сторінки.
  8. Обробку відмов тепер налаштовано! Коли функція «Пересилання електронної пошти» виявляє відмову для електронного листа, надісланого Listmonk, вона повідомляє ваш екземпляр Listmonk через вебхук, і Listmonk відповідно позначає підписника.
  9. Виконайте наведені нижче кроки в Тестування щоб переконатися, що все працює.

Ось короткий огляд основних функцій Listmonk:

Створіть список розсилки

  • Йти до списки на бічній панелі.
  • Натисніть Новий список.
  • Заповніть дані (Назва, Тип: Публічний/Приватний, Опис, Теги) та Зберегти.

Додати підписників

  • Перейдіть до Передплатники розділ.
  • Ви можете додавати підписників:
    • ВручнуНатисніть Новий підписник.
    • ІмпортНатисніть Імпорт передплатників щоб завантажити CSV-файл.
    • APIВикористовуйте API Listmonk для програмних доповнень.
  • Призначте підписників одному або кільком спискам під час створення або імпорту.
  • Найкраща практикаВикористовуйте процес подвійної реєстрації. Налаштуйте це в розділі Налаштування -> Підписки та підписки.

Створіть і надішліть кампанію

  • Йти до Кампанії -> Нова кампанія.
  • Заповніть деталі кампанії (Ім’я, Тема, Ел. пошта відправника, Список(и) для надсилання).
  • Виберіть тип контенту (Rich Text/HTML, Plain Text, Raw HTML).
  • Складіть вміст електронного листа. Ви можете використовувати змінні шаблону, такі як {{ .Subscriber.Email }} або {{ .Subscriber.FirstName }}.
  • Завжди спочатку надсилайте тестовий електронний лист! Скористайтеся опцією «Надіслати тест», щоб переглянути електронний лист у своїй поштовій скриньці.
  • Якщо ви задоволені, натисніть Розпочати кампанію надіслати негайно або запланувати це на потім.

  • Доставка по SMTPРегулярно надсилайте тестові електронні листи через сторінку налаштувань SMTP Listmonk та тестуйте кампанії, щоб забезпечити правильну доставку листів.
  • Обробка відскоківНадіслати тестову кампанію на відому недійсну адресу електронної пошти (наприклад, bounce-test@yourdomain.com якщо у вас немає справжнього під рукою, хоча результати можуть відрізнятися). Перевірте статистику кампанії в Listmonk через деякий час, щоб побачити, чи зареєстровано відмову.
  • Заголовки електронних листівВикористовуйте такі інструменти, як Тестер пошти або перевірте заголовки електронних листів вручну, щоб переконатися, що SPF, DKIM та DMARC проходять успішну пересилку, що вказує на правильне налаштування пересилання електронної пошти.
  • Журнали пересилання електронної поштиПеревірте журнали панелі керування пересиланням електронної пошти, якщо підозрюєте, що проблеми з доставкою виникають через SMTP-сервер.

  • шаблонуванняListmonk використовує шаблонний механізм Go. Перегляньте його документацію для розширеної персоналізації: {{ .Subscriber.Attribs.your_custom_field }}.
  • APIListmonk надає комплексний REST API для керування списками, підписниками, кампаніями, шаблонами тощо. Посилання на документацію API можна знайти в нижньому колонтитулі вашого екземпляра Listmonk.
  • Налаштовувані поляВизначте власні поля передплатників у розділі Налаштування -> Поля передплатника для зберігання додаткових даних.
  • ВебхукиОкрім відмов, Listmonk може надсилати вебхуки для інших подій (наприклад, підписок), що дозволяє інтеграцію з іншими системами.

Інтегруючи можливості Listmonk, що самостійно розміщується, з безпечною та конфіденційною доставкою переадресації електронної пошти, ви створюєте надійну та етичну платформу email-маркетингу. Ви зберігаєте повне право власності на дані своєї аудиторії, водночас отримуючи переваги високої доставляльності та автоматизованих функцій безпеки.

Ця конфігурація забезпечує масштабовану, економічно ефективну та зручну для розробників альтернативу власницьким поштовим сервісам, що ідеально відповідає принципам програмного забезпечення з відкритим кодом та конфіденційності користувачів.

Щасливого відправлення! 🚀