Версия 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. В течение следующих 30 минут таблица заполняется результатами: «Входящие», «Спам» или «Промоакции» для каждого провайдера. Если провайдер отклонил письмо, отображается его ответ с кодом SMTP. В Gmail используются общедоступные тестовые почтовые ящики, и любой пользователь с доступом к ним видит тему, имя отправителя и папку, поэтому конфиденциальное содержимое лучше тестировать без проверки папки.
Отчет содержит все проверки, оценку по шкале от 0 до 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-запись, которую нужно опубликовать, лента мониторинга, оповещения и лимиты определяются через Email Spam Tester API, тот же API, который использует сайт. В API передаются:
- имя хоста сервера, версии Plesk и расширения, количество доменов и, если вы укажете, адрес электронной почты администратора, однократно при регистрации;
- тестовые письма;
- каждая подписка в виде хеша с ключом, без ее названия;
- для проверки DNS: записи TXT, которые Plesk хранит для домена, его ключ DKIM, IP-адреса и имя HELO сервера, а также почтовый ящик домена для отчетов DMARC;
- строки журнала почтового сервера, относящиеся к нашим тестовым письмам;
- при включенном мониторинге: копии исходящих писем домена.
Отчеты о тестировании содержат ссылки, как и на сайте, и открыть отчет может любой, у кого есть ссылка. С лентой мониторинга все иначе, поскольку в ней находится реальная почта ваших клиентов. Ее отчеты открываются только с ключом вашего сервера. Копия письма удаляется через два дня, а отчет о нем через 90 дней. Остальная информация приведена на странице конфиденциальности.
Вопросы хостинг-провайдеров
Изменяет ли расширение DNS самостоятельно?
Нет. Запись изменяется, только когда клиент нажимает «Исправить» и подтверждает ее текущее и новое содержимое, а DNS домена действительно обслуживается вашим сервером. В записи SPF сохраняются все существующие условия. IP сервера добавляется первым и не требует дополнительного DNS-запроса. Существующая политика DMARC никогда не заменяется. Каждое изменение заносится в журнал действий Plesk. Его можно отменить на вкладке «Тест», если после этого никто не редактировал запись. Публичные резолверы запоминают отсутствие записи на время, указанное в минимальном значении 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 › a domain › Mail. Пока сервер не зарегистрирован, расширение лишь предложит им обратиться к вам.
4. Выбор доступных функций
В разделе Service Plans › a plan › 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. Если что-то не работает
- «Почтовый сервер не принял письмо» при тестировании: локальный Postfix отклонил письмо, а текст после двоеточия содержит его ответ. Проверьте, запущен ли Postfix (
systemctl status postfix). - Тест ожидает, но ничего не приходит: через 30 секунд на странице теста появится соответствующая запись из почтового журнала сервера. Если время ожидания подключения к порту 25 истекло, ваш провайдер блокирует исходящий порт 25. Для проверки выполните первую команду из шага 1.
- Вместо кнопки исправления показана запись, которую нужно скопировать: DNS домена обслуживается другим сервером (регистратором или Cloudflare). Добавьте запись там.
- Сразу после исправления DNS тест по-прежнему показывает старый результат: публичные резолверы DNS могут помнить об отсутствии записи в течение срока, равного минимальному TTL в SOA зоны (три часа в стандартном шаблоне зоны Plesk). Повторите тест позже.