Skip to content

WordPress email validation plugin powered by the Mailgun API. Verifies addresses, syncs suppression lists via a secure signed webhook, runs a daily cron job and exposes a minimal settings page. Secrets stay outside git, coupling to WP is intentionally small and explicit.

License

Notifications You must be signed in to change notification settings

AmaLS367/evwc-basic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EVWC Basic Email Validation

WordPress плагин для валидации e‑mail и синхронизации Mailgun suppressions. Без утечек секретов. Минимальная зависимость от WP.

  • Version: 0.4.0
  • Requires at least: WP 5.6
  • Tested up to: WP 6.6
  • PHP: 7.4+
  • License: GPL-2.0-or-later
  • Text Domain: evwc-basic
  • Domain Path: /languages

Что делает

  • Проверка e‑mail через Mailgun API.
  • Безопасный REST вебхук: подпись + жёсткий отказ при отсутствии ключа.
  • Суточный cron‑синк списков подавления (bounces/complaints/unsubscribes).
  • Примитивная админ‑страница для ключей/доменов (можно задавать через константы).

Установка

  1. Скопируй evwc-config.example.phpevwc-config.php и заполни значения или задай константы в wp-config.php (предпочтительно на проде).
  2. Активируй плагин.
  3. В админке открой страницу настроек и проверь URL вебхука.

Конфигурация (секреты вне гита)

// wp-config.php (рекомендуется)
define('EVWC_MG_KEY',    'key-REPLACE_ME');
define('EVWC_MG_DOMAIN', 'mg.example.com');
define('EVWC_MG_REGION', 'US'); // или 'EU'

Локальный файл (для dev)

// evwc-config.php (локально)
if (!defined('EVWC_MG_KEY'))    define('EVWC_MG_KEY',    'key-REPLACE_ME');
if (!defined('EVWC_MG_DOMAIN')) define('EVWC_MG_DOMAIN', 'mg.example.com');
if (!defined('EVWC_MG_REGION')) define('EVWC_MG_REGION', 'US');

REST эндпоинты

  • Вебхук: POST /wp-json/evwc/v1/mg-webhook
    Требует валидной подписи Mailgun и наличия EVWC_MG_KEY. При отсутствии ключа — 403. При некорректной подписи — 403.

Cron

  • Хук: evwc_sync_suppressions_event (ежедневно).
  • Деактивация плагина снимает хук корректно.

Локализация

  • Text Domain: evwc-basic, Domain Path: /languages.
  • Загружчик load_plugin_textdomain() подключён.
  • Заготовка: languages/evwc-basic.pot.

Безопасность

  • Секреты только через константы/локальный файл из .gitignore.
  • Вебхук отклоняет всё без ключа и без валидной подписи.
  • Выводы в админке экранировать esc_html/esc_attr по мере локализации строк.

Структура репозитория

evwc-basic/
  evwc-basic.php
  evwc-config.example.php
  languages/evwc-basic.pot
  assets/screenshot-1.png
  .gitignore
  README.md
  LICENSE

.gitignore уже содержит: evwc-config.php, /vendor/, /node_modules/, IDE/OS‑мусор.

About

WordPress email validation plugin powered by the Mailgun API. Verifies addresses, syncs suppression lists via a secure signed webhook, runs a daily cron job and exposes a minimal settings page. Secrets stay outside git, coupling to WP is intentionally small and explicit.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages