Версія 0.1.0, 1 жовтня 2026 року. Завантажити (75 КБ), SHA-256 5df918a10cd996799f5d144abcc101970fab31fbb7e2298be78362257c0aaa28. Покрокова інструкція зі встановлення наведена наприкінці цієї сторінки. В архіві цей самий текст міститься у файлі INSTALL.md. Код і цей самий архів у вигляді релізу також доступні на GitHub.
Для кого це
Для хостинг-провайдерів, сервери яких працюють під керуванням Plesk Obsidian 18.0.50 або новішої версії на Linux. Ви встановлюєте розширення від імені root і один раз реєструєте сервер. Після цього кожен клієнт знаходить Email Spam Tester у розділі Websites & Domains › його домен › Mail, поруч із Mail Settings. Тарифні плани визначають, кому доступні відповідні функції.
Вебтестер не може перевірити сторону відправника, він бачить лише електронний лист, який до нього надійшов. Розширення надсилає тестовий лист із вашого сервера через Postfix, підписує його ключем DKIM домену та використовує IP і HELO-ім’я сервера, тому звіт стосується конфігурації, яку клієнт фактично використовує. А оскільки зона DNS домену зберігається в Plesk, відсутній запис часто можна додати одним натисканням кнопки.
Що бачить клієнт
Тест
Угорі розташована перевірка, яка виконується до надсилання будь-якого листа: чи проходить цей сервер перевірку SPF домену, чи підписує Plesk листи за допомогою DKIM і чи відповідає ключ у DNS тому, яким він підписує, а також перевірка політики DMARC і MX. Для кожної проблеми є кнопка Виправити або Показати запис, якщо DNS домену обслуговується в іншому місці.
Нижче клієнт вибирає поштову скриньку домену та спосіб надсилання тестового листа. Його можна надіслати від імені цієї скриньки або так, як надсилає листи сайт, від імені власного системного користувача підписки. Саме так надсилають листи WordPress, контактні форми та сповіщення магазину. Другий варіант виявляє поширену проблему хостингу, коли листи з PHP надсилаються з адресою відправника, яку не охоплює SPF домену. Можна використати стандартний тестовий лист, коротке повідомлення англійською мовою у текстовому форматі та HTML, або власний лист клієнта, вставивши тему, HTML і, за бажанням, текстову версію.
Параметр "Також перевірити папку в поштових провайдерів" увімкнено за замовчуванням. Після цього сервер у фоновому режимі, у випадковому порядку та з інтервалами від двох до чотирьох секунд, надсилає по одній копії до кожної з наших тестових скриньок у Gmail, Outlook, Yahoo та інших провайдерів. Кожна копія має власний Message-ID, тому розширення може знайти відповідні рядки в журналі Postfix. Протягом наступних тридцяти хвилин таблиця заповнюється результатами: Вхідні, Спам або Реклама для кожного провайдера. Якщо провайдер відхилив лист, відображається його відповідь із кодом SMTP. У Gmail для цього використовуються публічні тестові скриньки, і кожен, хто має до них доступ, бачить тему, ім’я відправника та папку. Тому конфіденційний вміст краще тестувати без перевірки папки.
Звіт містить усі перевірки, оцінку зі 100 і класичну оцінку від 0 до 10, план від ШІ та ті самі кнопки виправлення. Цього разу вони використовують IP, з якого, згідно зі звітом, фактично надійшов лист.
Історія
Усі тести домену, починаючи з найновішого, з обома оцінками та кількістю потраплянь у кожну папку, графіком оцінки й переліком перевірок для кожного тесту, результати яких змінилися порівняно з попереднім. Після виправлення DKIM у рядку буде зазначено, що результат DKIM змінився з помилки на успішну перевірку.
Моніторинг
Якщо дозволити це на сервері, клієнт може ввімкнути моніторинг для домену. Після цього для кожного листа, який надсилає домен, створюється технічний звіт із результатами DKIM, SPF і DMARC, IP відправника та списками блокування. На вкладці підсумовуються дані за останні 24 години за джерелами, тому листи з PHP сайту враховуються окремо від листів із вебпошти або поштової програми. Далі показуються сповіщення, наприклад, коли DKIM не проходить перевірку в останніх листах або SPF не проходить перевірку для листів із сайту. Нижче розташовані останні листи та їхні звіти. Два підтвердження замовлення з одного шаблону магазину в межах години враховуються як одна перевірка, тому завантажений магазин не створює тисячу однакових звітів. План від ШІ для окремого листа доступний за запитом.
Що отримує адміністратор
У розділі Tools & Settings › Mail › Email Spam Tester доступні реєстрація та перемикач моніторингу для всього сервера. Там для кожної підписки встановлюються обмеження на кількість тестів, перевірок папок, планів AI і доменів під моніторингом, а для кожного такого домену, на кількість листів на день. У таблиці наведено власні IP-адреси сервера, їхні записи зворотного DNS, відповідність імені HELO та списки блокування.
Розширення додає до тарифних планів чотири дозволи: на саме розширення, кнопки виправлення, перевірку папок і моніторинг. Усі чотири дозволи ввімкнені за замовчуванням. Для кнопок DNS також потрібен власний дозвіл тарифного плану на керування DNS, а для перемикача DKIM, дозвіл на керування налаштуваннями пошти.
Ціна
Наразі безкоштовно, як і сам тестер. Якщо це зміниться, спочатку про це буде повідомлено в журналі змін. Установлені вами обмеження діють у межах обмежень, які Email Spam Tester установлює для кожного сервера (на перевірки папок, перевірки доменів і відстежувані домени за день), а на сторінці адміністратора показано обидва набори обмежень і сьогоднішнє використання.
Як це працює і які дані надсилаються з вашого сервера
Розширення надсилає тестовий лист із вашого сервера й нічого не вирішує самостійно. Результати перевірок, історія, зміни, DNS-запис, який потрібно опублікувати, стрічка моніторингу, сповіщення та обмеження визначаються через API Email Spam Tester, який також використовує сайт. До API надсилаються:
- ім’я хоста сервера, версії Plesk і розширення, кількість доменів і, якщо ви її вкажете, адреса електронної пошти адміністратора, один раз під час реєстрації;
- тестові листи;
- кожна підписка у вигляді хешу з ключем, але ніколи не її назва;
- для перевірки DNS: TXT-записи, які Plesk зберігає для домену, його ключ DKIM, IP-адреси сервера та ім’я HELO, а також поштова скринька домену для звітів DMARC;
- рядки вашого журналу пошти, що стосуються наших тестових листів;
- коли ввімкнено моніторинг, копії вихідних листів домену.
Звіти про тести містять посилання, як і на сайті, і кожен, хто має посилання, може відкрити відповідний звіт. Стрічка моніторингу працює інакше, оскільки містить справжню пошту ваших клієнтів. Її звіти відкриваються лише за допомогою ключа вашого сервера, а скопійований лист видаляється через два дні, його звіт через 90 днів. Решта інформації наведена на сторінці конфіденційності.
Запитання, які ставлять хостинг-провайдери
Чи змінює розширення DNS самостійно?
Ні. Запис змінюється, коли клієнт натискає Fix і підтверджує поточний та майбутній вигляд запису, і лише тоді, коли DNS домену справді обслуговується вашим сервером. У записі SPF зберігаються всі наявні складові, IP сервера додається на початок і не потребує додаткового DNS-запиту. Наявна політика DMARC ніколи не замінюється. Кожна зміна потрапляє до журналу дій Plesk, і її можна скасувати на вкладці Test, якщо після цього ніхто не редагував запис. Публічні резолвери пам'ятають про відсутній запис протягом мінімального часу SOA зони, у стандартному шаблоні Plesk це три години, тому тест одразу після виправлення все ще може показувати попередній результат.
Як моніторинг копіює пошту?
Обробник пошти Plesk запускається після того, як Plesk підписує лист за допомогою DKIM. Він передає кожне повідомлення далі без змін, а для домену з увімкненим моніторингом передає копію обробнику Postfix на 127.0.0.1, який приймає лише наші адреси моніторингу. Потім Postfix доставляє копію як будь-який інший лист, з тієї самої IP-адреси та з тим самим підписом. Належність листа визначається за обліковими даними SMTP або системним користувачем підписки, а не лише за адресою відправника, тому ніхто не може додати свої листи до стрічки іншого клієнта. Обробник встановлюється в /usr/local/lib/email-spam-tester, а список доменів зберігається в /etc/email-spam-tester/monitor.json.
Чи сповільнює це вихідну пошту?
Обробник читає повідомлення та передає його далі. Копія передається локальному обробнику окремим процесом, тому оригінал не чекає на її доставлення. Я надіслав вкладення розміром 5 МБ через sendmail і SMTP з увімкненим моніторингом, і оригінал та копія були доставлені.
Що було перевірено на реальному сервері?
Plesk Obsidian 18.0.81 на Ubuntu 24.04, на сервері з публічною IP-адресою та доменом, DNS якого обслуговує цей сервер: встановлення, видалення та повторне встановлення, реєстрація, тест із перевіркою папки для домену без DKIM, SPF або DMARC, три кнопки виправлення, другий тест з успішною перевіркою всіх трьох записів, історія та моніторинг листів із вебсайту й поштової програми. Вебсторінки перевірено на локальному сервері Plesk. Поки не перевірено: інші дистрибутиви Linux і версії Plesk, сервер, який пересилає пошту через smarthost, а також qmail замість Postfix. Plesk для Windows не підтримується. Напишіть мені, якщо ви запускаєте розширення в одному з таких середовищ.
Встановлення, крок за кроком
Цей посібник передбачає, що у вас є root-доступ до сервера Plesk. Кожну наведену нижче команду можна скопіювати та вставити без змін.
1. Що потрібно
- Root-доступ до сервера через SSH.
- Plesk Obsidian 18.0.50 або новішої версії на Linux, з Postfix як поштовим сервером (стандартний варіант у Plesk). Перевірено на робочому сервері з Plesk Obsidian 18.0.81 і Ubuntu 24.04.
- Відкритий вихідний порт 25, щоб електронна пошта із сервера могла надходити на
t.email-spam-tester.com. Багато провайдерів VPS блокують його за замовчуванням. - Вихідні HTTPS-з'єднання з
email-spam-tester.com.
Обидва з'єднання можна перевірити перед встановленням. Перша команда має вивести рядок, що починається з 220, друга має вивести 200:
timeout 10 bash -c 'exec 3<>/dev/tcp/t.email-spam-tester.com/25 && head -1 <&3'
curl -s -o /dev/null -w '%{http_code}\n' https://email-spam-tester.com/health
2. Встановлення
Увійдіть через SSH як root. Завантажте розширення та його контрольну суму:
cd /root
curl -fsSLO https://email-spam-tester.com/plesk/latest.zip
curl -fsSLO https://email-spam-tester.com/plesk/latest.zip.sha256
Перевірте цілісність завантаженого файлу. Ви маєте побачити latest.zip: OK. Якщо бачите FAILED, завантажте файл ще раз і не продовжуйте:
sha256sum -c latest.zip.sha256
Встановіть розширення:
plesk bin extension --install /root/latest.zip
Останнім має бути рядок The extension was successfully installed.
3. Реєстрація сервера
У Plesk перейдіть до Tools & Settings › Mail › Email Spam Tester і натисніть Зареєструвати цей сервер. За бажанням можна вказати адресу електронної пошти для сповіщень про сервіс.
Під час реєстрації надсилаються ім'я хоста сервера, версії Plesk і розширення, кількість підписок та вказана адреса електронної пошти. У відповідь надходить ключ, який зберігається на цьому сервері в зашифрованому вигляді в налаштуваннях розширення. Клієнти ніколи його не бачать.
Клієнти знайдуть Email Spam Tester у розділі Websites & Domains › домен › Mail. Поки сервер не зареєстровано, вони побачать лише прохання звернутися до вас.
4. Вибір доступних можливостей
У розділі Service Plans › план › Permissions (а також у власних дозволах кожної підписки) розширення додає чотири дозволи, усі вони ввімкнені за замовчуванням:
- Email Spam Tester: саме розширення;
- виправлення налаштувань DNS і пошти: кнопки DKIM, SPF і DMARC. Для кнопок DNS також потрібен власний дозвіл плану на керування DNS, а для перемикача DKIM потрібен дозвіл на керування налаштуваннями пошти;
- перевірка папок: надсилання копії до тестових поштових скриньок у провайдерів електронної пошти;
- постійний моніторинг: увімкнення моніторингу для домену.
Ліміти для кожної підписки (тести, перевірки папок, плани AI, домени під моніторингом, кількість листів під моніторингом на домен за день) налаштовуються на тій самій сторінці Tools & Settings › Mail › Email Spam Tester.
5. Постійний моніторинг (необов'язково)
Нічого не копіюється, доки ви не надасте дозвіл, а клієнт не ввімкне моніторинг для свого домену. На сторінці розширення в розділі Tools & Settings натисніть Дозволити постійний моніторинг на цьому сервері. Буде додано:
- обробник пошти Plesk, який запускається після підписання вихідної пошти за допомогою DKIM, пропускає кожне повідомлення без змін і для доменів з увімкненим моніторингом передає копію до
- слухача Postfix на
127.0.0.1:10597, який приймає лише адреси моніторингу Email Spam Tester, тому копія надсилається з тієї самої IP-адреси та з тим самим HELO, що й оригінал; - списку доменів під моніторингом у
/etc/email-spam-tester/monitor.json.
На цій самій сторінці є кнопка Вимкнути на всьому сервері, яка видаляє всі три компоненти та вимикає моніторинг для всіх доменів.
Щоб перевірити стан із командного рядка:
/usr/local/psa/admin/sbin/modules/email-spam-tester/est-monitor status
"state": "active" означає, що моніторинг увімкнено; "off" означає, що його ніколи не дозволяли або вже видалили; "partial" означає, що якогось компонента бракує (Plesk іноді перезаписує файл master.cf Postfix під час оновлення). Кнопка Відновити на цій самій сторінці повертає відсутній компонент. Щоденне завдання автоматично робить те саме.
6. Оновлення
Завантажте новий файл latest.zip і його контрольну суму, як описано в кроці 2, перевірте файл, а потім виконайте:
plesk bin extension --upgrade /root/latest.zip
Реєстрація, ліміти та налаштування моніторингу залишаться без змін. Якщо моніторинг увімкнено, його файли буде оновлено до нової версії.
7. Видалення
plesk bin extension --uninstall email-spam-tester
Ця команда видаляє моніторинг із Postfix та обробників пошти Plesk і вимикає його для всіх доменів. Вона ніколи не змінює записи DNS, зокрема записи, які клієнти створили за допомогою кнопок розширення.
Якщо моніторинг увімкнено, варто спочатку видалити його окремо, щоб у разі помилки ви одразу її побачили, а не знайшли лише в журналі Plesk:
/usr/local/psa/admin/sbin/modules/email-spam-tester/est-monitor disable
Наприкінці команда виводить стан. "state": "off" означає, що обробник, слухач і список видалено.
8. Якщо щось не працює
- "The mail server did not accept the email" під час тесту: локальний Postfix відхилив лист, а текст після двокрапки є його власною відповіддю. Перевірте, чи працює Postfix (
systemctl status postfix). - Тест очікує, але нічого не надходить: через 30 секунд сторінка тесту покаже, що про це записано в поштовому журналі сервера. Якщо з'єднання з портом 25 завершується через перевищення часу очікування, ваш провайдер блокує вихідний порт 25. Запустіть першу перевірку з кроку 1, щоб це підтвердити.
- Замість кнопки виправлення показано запис, який потрібно скопіювати: DNS домену обслуговується іншим сервером (реєстратором або Cloudflare). Додайте запис там.
- Одразу після виправлення DNS тест усе ще показує старий результат: публічні резолвери DNS можуть пам'ятати про відсутність запису протягом мінімального TTL із SOA зони (три години в стандартному шаблоні зони Plesk). Повторіть тест пізніше.