Перейти к содержимому
WordPress.org

Русский

  • Темы
  • Плагины
  • Новости
    • Документация
    • Форумы
  • О WordPress
  • Сообщество
  • Скачать WordPress
Скачать WordPress
WordPress.org

Plugin Directory

SwiftTrap for Mailtrap

  • Отправить плагин
  • Мои избранные
  • Войти
  • Отправить плагин
  • Мои избранные
  • Войти

SwiftTrap for Mailtrap

Автор: SYMONOV
Скачать
  • Детали
  • Отзывы
  • Установка
  • Разработка
Поддержка

Описание

SwiftTrap — это готовая замена wp_mail(), которая направляет письма WordPress через Mailtrap Email Sending API вместо SMTP. Плагин создан специально для Mailtrap — это не универсальный SMTP-плагин с пресетом для Mailtrap, — поэтому он открывает доступ к нативным возможностям Mailtrap, недоступным через SMTP: маршрутизация по массовому и транзакционному потокам, категории писем, пользовательские переменные для отслеживания, списки блокировок и статус верификации домена.

Почему HTTP API, а не SMTP?

  • Меньшая задержка — один HTTPS-запрос на письмо, без циклов MAIL FROM / RCPT TO / DATA.
  • Лучшая доставляемость — Mailtrap направляет API-сообщения через выделенные транзакционный и массовый потоки; SMTP не даёт выбрать поток.
  • Нативные категории — каждое письмо автоматически категоризируется (welcome, password-reset, notification, marketing и т. д.), что позволяет фильтровать их и строить отчёты в Mailtrap.
  • Никаких проблем с файрволом — порт 587/465 заблокирован? API работает через стандартный HTTPS 443.

Почему SwiftTrap, а не WP Mail SMTP / Post SMTP

  • Универсальные SMTP-плагины используют SMTP-учётные данные Mailtrap и теряют все функции, доступные только через Mailtrap.
  • SwiftTrap обращается к send.api.mailtrap.io для транзакционной почты и к bulk.api.mailtrap.io для массовой — автоматически, на основе категории или через фильтр.
  • Mailtrap PHP SDK не требуется. Плагин занимает всего ~30 КБ и использует только WordPress HTTP API (wp_remote_post).
  • Страница статистики показывает статус верификации вашего домена отправки и актуальный список блокировок (возвраты, жалобы, отписки).

Возможности

  • Готовая замена wp_mail() — работает с WooCommerce, Contact Form 7, Gravity Forms и любым плагином, использующим почту WordPress.
  • Автоматическая категоризация писем и переопределение маршрутизации потоков через таблицу настроек.
  • Отслеживание доставки & вебхуки — отслеживание событий в реальном времени через собственный REST-маршрут swifttrap/v1/webhook.
  • Управление блокировками — панель CRUD для списков блокировок Mailtrap с проверкой получателей на блокировку перед отправкой.
  • Отказоустойчивость — плавный откат к нативному wp_mail() WordPress, если вызов API Mailtrap завершился ошибкой.
  • Интеграция с Site Health — тест проверки статуса токена Mailtrap и верификации домена отправки.
  • Живой журнал писем — просмотр и фильтрация данных о доставке, полученных напрямую из API Mailtrap; поиск по адресу получателя, статусу или диапазону дат с автоматической пагинацией.
  • Команды WP-CLI — управление из командной строки через wp swifttrap (test, stats, prune-logs, send-suppression-sync).
  • Контроль размера вложений — настраиваемые лимиты, предотвращающие отклонение слишком больших файлов на шлюзе API.
  • Кнопка отправки тестового письма на странице настроек.
  • Поддержка шаблонов Mailtrap через template_uuid.
  • Откат к стандартному обработчику почты WordPress, если плагин отключён или токен пуст.

Расширяется через фильтры

  • swifttrap_mailtrap_email_category — переопределяет автоматически определённую категорию письма.
  • swifttrap_mailtrap_use_bulk_stream — принудительно направляет сообщение в массовый или транзакционный поток.
  • swifttrap_mailtrap_template — отправляет письмо через шаблон Mailtrap по template_uuid.
  • swifttrap_mailtrap_custom_variables — прикрепляет метаданные для отслеживания к исходящим письмам.

Конфиденциальность

Этот плагин отправляет данные писем (получатели, тема, тело, вложения) в API Mailtrap по адресам send.api.mailtrap.io и bulk.api.mailtrap.io. Статистика аккаунта и журналы писем получаются из mailtrap.io/api/accounts и mailtrap.io/api/email_logs. См. Политику конфиденциальности Mailtrap. Никакие данные никуда больше не отправляются.

Скриншоты

Страница настроек — API-токен, подтверждённый отправитель, маршрутизация потоков.
Страница настроек — API-токен, подтверждённый отправитель, маршрутизация потоков.
Страница статистики — статус верификации домена отправки и список блокировок (возвраты, жалобы, отписки).
Страница статистики — статус верификации домена отправки и список блокировок (возвраты, жалобы, отписки).
Журнал писем — живые данные API Mailtrap с фильтрами и пагинацией.
Журнал писем — живые данные API Mailtrap с фильтрами и пагинацией.
Виджет дашборда с состоянием интеграции, отправителем и быстрыми ссылками на страницы статистики и настроек.
Виджет дашборда с состоянием интеграции, отправителем и быстрыми ссылками на страницы статистики и настроек.
Подтверждение отправки тестового письма.
Подтверждение отправки тестового письма.

Установка

  1. Установите из раздела Плагины → Добавить новый, найдя SwiftTrap for Mailtrap, или загрузите папку swifttrap-for-mailtrap в /wp-content/plugins/.
  2. Активируйте плагин.
  3. Перейдите в Mailtrap → Настройки.
  4. Вставьте ваш Mailtrap Send API token (панель Mailtrap → Sending Domains → API Tokens).
  5. Укажите подтверждённые email и имя отправителя.
  6. Нажмите Отправить тестовое письмо, чтобы проверить доставку.

Часто задаваемые вопросы

Почему стоит использовать SwiftTrap вместо WP Mail SMTP или Post SMTP с учётными данными Mailtrap?

WP Mail SMTP и Post SMTP работают через SMTP-шлюз Mailtrap и рассматривают Mailtrap как обычный SMTP-хост. SwiftTrap использует HTTP Send API Mailtrap, который открывает функции, недоступные через SMTP: маршрутизацию по массовому и транзакционному потокам, категории, пользовательские переменные отслеживания, UUID шаблонов и живую видимость списка блокировок. Используйте SwiftTrap, если хотите нативное поведение Mailtrap; используйте универсальный SMTP-плагин, если нужна единая настройка, подходящая для любых провайдеров.

Поддерживает ли плагин шаблоны писем Mailtrap?

Да — используйте фильтр swifttrap_mailtrap_template, чтобы отправлять письма через template_uuid. Переменные шаблона можно передавать через стандартный набор template-variables Mailtrap.

Как работает маршрутизация в массовый поток?

По умолчанию категории marketing/promotional направляются в bulk.api.mailtrap.io, а всё остальное — в send.api.mailtrap.io. Переопределяйте для отдельного письма через фильтр swifttrap_mailtrap_use_bulk_stream — это полезно для пакетных рассылок из собственного плагина.

Где получить API-токен?

Войдите на mailtrap.io, откройте ваш домен отправки, перейдите в API Tokens и создайте токен с правами на отправку.

Что произойдёт, если я отключу плагин или удалю токен?

WordPress вернётся к своему стандартному обработчику wp_mail(). Ни одно письмо не будет потеряно незаметно.

Требует ли плагин Mailtrap PHP SDK?

Нет. SwiftTrap обращается к REST API Mailtrap напрямую через WordPress HTTP API. Общий размер плагина — около 30 КБ.

Какие данные отправляются вовне?

Данные писем (получатели, тема, тело, вложения) отправляются на send.api.mailtrap.io и bulk.api.mailtrap.io. Статистика аккаунта запрашивается с mailtrap.io/api/accounts. См. Политику конфиденциальности Mailtrap.

Есть ли ограничение на размер вложений?

Да — 25 МБ на письмо (соответствует лимиту API Mailtrap).

Отзывы

Нет отзывов об этом плагине.

Участники и разработчики

«SwiftTrap for Mailtrap» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники
  • SYMONOV

Перевести «SwiftTrap for Mailtrap» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

3.0.1

  • Исправлено: обработчик вебхуков теперь проверяет настоящий заголовок Mailtrap-Signature (HMAC-SHA256) от Mailtrap вместо заголовка, который Mailtrap никогда не отправляет. Все реальные вызовы вебхука отслеживания доставки полностью отклонялись с момента появления этой функции в 2.4.0.
  • Исправлено: разбор данных вебхука теперь корректно разворачивает конверт Mailtrap {"events": [...]}, поэтому подтверждённые события доходят до do_action('swifttrap_mailtrap_webhook_event', ...).
  • Исправлено: карточка использования на странице статистики теперь обращается к актуальному эндпоинту Mailtrap /api/billing/usage вместо устаревшего пути в рамках аккаунта, который не возвращал данных.
  • Исправлено: удаление плагина теперь очищает реальные кэшированные transient-записи вместо имён ключей до версии 2.3.0, которые больше не совпадают.
  • Улучшено: поиск получателя в журнале писем и обращения к API аккаунта теперь последовательно используют синтаксис фильтров в квадратных скобках и авторизацию по Bearer-токену.

3.0.0

  • Критическое изменение: полностью удалено локальное файловое логирование писем. Файлы журнала больше не записываются на диск — устраняет риск OOM/переполнения диска на сайтах с высокой нагрузкой.
  • Новое: панель журнала писем на странице статистики получает живые данные напрямую из API Mailtrap (GET /api/email_logs).
  • Новое: журнал писем поддерживает фильтрацию по email-адресу получателя, статусу доставки и диапазону дат.
  • Новое: пагинация на стороне клиента — буферизует до 1000 записей от Mailtrap за один вызов API, показывает по 20 строк с навигацией Prev/Next. Автоматически загружает следующую партию, когда буфер исчерпан.
  • Новое: обработчик вебхуков теперь вызывает do_action('swifttrap_mailtrap_webhook_event', $event) для каждого события доставки, что позволяет сторонним интеграциям обходиться без модификации плагина.
  • Удалено: экспорт в CSV, очистка файла журнала, модальное окно деталей записи, повторная отправка из журнала, настройка количества записей на странице и очистка журнала по cron. Всё это заменено живым представлением из API.
  • Исправлено: страница статистики больше не создаёт лишний атрибут nonce на оборачивающем элементе.

2.4.2

  • Исправлено: журнал писем терял большую часть записей при высокой нагрузке или параллельной отправке. Каждая запись перечитывала и перезаписывала весь файл журнала, поэтому параллельные процессы затирали строки друг друга. Теперь запись выполняется атомарно, с эксклюзивной блокировкой и дозаписью в конец файла, поэтому дашборд статистики (отправки в день, категории, итоги) отражает реальное количество отправленных писем.
  • Улучшено: логирование больше не замедляет крупные рассылки — дозапись выполняется за O(1) вместо перечитывания и перезаписи всего файла на каждое письмо.

2.4.1

  • Исправлено: список блокировок теперь читает поле type от Mailtrap, поэтому дашборд показывает реальные счётчики BOUNCE / COMPLAINT / UNSUBSCRIBE / MANUAL вместо того, чтобы помечать каждую запись как ручную.
  • Новое: строки блокировок показывают категорию возврата письма (если она предоставлена) для детализации hard-bounce.
  • Исправлено: даты блокировок теперь форматируются на сервере с использованием формата даты сайта вместо локали браузера.
  • Новое: ссылка «Посмотреть все в Mailtrap» на карточке блокировок.
  • Новое: селектор количества записей на странице (10/25/50/100) на экране журнала писем.
  • Улучшено: действия в шапке журнала писем выровнены по правому краю; поле фильтра по дате оформлено в едином стиле с остальными полями.

2.4.0

  • Новое: REST-эндпоинт вебхука (swifttrap/v1/webhook) для отслеживания статусов delivered, bounced, opened и clicked.
  • Новое: CRUD-управление блокировками на странице статистики в админке и проверка получателей перед отправкой, чтобы пропускать заблокированные адреса.
  • Новое: механизм отката, возвращающий null в pre_wp_mail при ошибке API, чтобы письмо отправлял нативный wp_mail.
  • Новое: тест Site Health для проверки соединения и статуса верификации домена.
  • Новое: обновлённый интерфейс журнала в админке с поиском, фильтрацией, экспортом в CSV, модальными окнами предпросмотра данных в iframe и действиями повторной отправки.
  • Новое: таблица настроек категорий для правил сопоставления категорий с потоками и переопределения отправителя.
  • Новое: пространство команд WP-CLI wp swifttrap (test, stats, prune-logs, send-suppression-sync).
  • Новое: настройка контроля размера вложений.
  • Рефакторинг: форматирование строки CSV вынесено в отдельную вспомогательную функцию для модульных тестов. Полностью покрыто и проверено набором тестов.

2.3.0

  • Минимальная версия PHP теперь 8.0; протестировано до WordPress 7.0.
  • Надёжность: автоматические повторные попытки с задержкой при временных ошибках API Mailtrap (429/5xx, с учётом Retry-After).
  • Детерминированное хранение журнала через ежедневное cron-событие (заменяет прежнюю вероятностную очистку).
  • Кэши аккаунта/статистики/доменов/блокировок теперь привязаны к конкретному API-токену, поэтому смена токена больше не отдаёт устаревшие данные.
  • Надёжная обработка JSON для всех ответов API Mailtrap; кэш настроек безопасен для мультисайтов.
  • Новое: кнопка «Проверить токен» на экране настроек.
  • Код модернизирован под идиомы PHP 8; добавлен первый набор модульных тестов.

2.2.2

  • Plugin URI: теперь указывает на отдельную страницу https://plugins.symonov.com/swifttrap-for-mailtrap/
  • Без изменений кода или поведения

2.2.1

  • Readme: переписано в стиле USP-first с акцентом на Mailtrap Email API (в противовес SMTP) и маршрутизацию по массовому/транзакционному потокам
  • Tags: email/mail/smtp заменены на целевые mailtrap, transactional-email, email-api, wp-mail, email-log
  • FAQ: добавлено сравнение с WP Mail SMTP / Post SMTP, поддержка шаблонов Mailtrap и маршрутизация в массовый поток
  • Протестировано до WordPress 7.0

2.2.0

  • Все вызовы file_get_contents/file_put_contents заменены на WP_Filesystem API
  • Исправлена санитизация $_GET с корректным использованием wp_unslash() и аннотаций phpcs
  • Улучшены заголовки PHPDoc во всех файлах
  • Улучшено соответствие WordPress Coding Standards

2.1.0

  • Добавлен статус верификации домена отправки на странице статистики
  • Добавлен список блокировок (возвраты, жалобы, отписки) на странице статистики
  • Добавлен фильтр swifttrap_mailtrap_template для поддержки шаблонов Mailtrap
  • Добавлен фильтр swifttrap_mailtrap_custom_variables для метаданных отслеживания писем
  • Вынесена переиспользуемая функция swifttrap_mailtrap_get_account_id() с кэшированием через transient

2.0.0

  • Убрана зависимость от Mailtrap SDK — используется напрямую WordPress HTTP API
  • Никаких внешних зависимостей, общий размер плагина ~30 КБ
  • Улучшено соответствие требованиям WP.org

1.3.0

  • Безопасность: директория журнала защищена от прямого доступа через веб
  • Добавлена проверка размера вложений (лимит 25 МБ)
  • Добавлена проверка на пустого получателя
  • Исправлена обработка часового пояса при отображении журнала
  • Оптимизировано вычисление категории письма
  • Улучшена блокировка файла журнала

Мета

  • Версия 3.0.1
  • Обновление: 1 день назад
  • Активных установок: Менее 10
  • Версия WordPress 6.0 или выше
  • Совместим вплоть до: 7.0
  • Версия PHP 8.0 или выше
  • Язык
    English (US)
  • Метки:
    Email APIemail logmailtraptransactional emailwp-mail
  • Дополнительно

Оценки

Пока что нет ни одного отзыва.

Your review

Посмотреть всеотзывы

Участники

  • SYMONOV

Поддержка

Есть что сказать? Нужна помощь?

Перейти в форум поддержки

  • О нас
  • Новости
  • Хостинг
  • Приватность
  • Витрина
  • Темы
  • Плагины
  • Паттерны
  • Обучение
  • Поддержка
  • Разработчики
  • WordPress.TV ↗
  • Присоединиться
  • События
  • Поддержать ↗
  • Пять для будущего
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

Русский

  • Посетите нас в X (ранее Twitter)
  • Посетите нашу учётную запись в Bluesky
  • Посетите нашу ленту в Mastodon
  • Посетите нашу учётную запись в Threads
  • Посетите нашу страницу на Facebook
  • Посетите наш Instagram
  • Посетите нашу страницу в LinkedIn
  • Посетите нашу учётную запись в TikTok
  • Посетите наш канал YouTube
  • Посетите нашу учётную запись в Tumblr
Код — это поэзия.
The WordPress® trademark is the intellectual property of the WordPress Foundation.