Symelo SMTP

  • Версия 1.0.0
  • WordPress 6.4+
  • PHP 7.4+
  • Тествана до 7.1
Connections: основната и резервната връзка и тяхното състояние.

Описание

По подразбиране WordPress изпраща имейлите с PHP функцията mail(). Много хостинг доставчици я блокират, а спам филтрите не ѝ се доверяват, затова имейлите за смяна на парола, потвържденията на поръчки и съобщенията от контактни форми се губят. Symelo SMTP изпраща всеки имейл на WordPress през истинска имейл услуга и ви показва точно какво се е случило с всеки от тях.

Поддържани услуги

  • Other SMTP, с готови настройки за популярните доставчици
  • Gmail / Google Workspace (OAuth, без съхранена парола)
  • Microsoft 365 / Outlook (OAuth през Microsoft Graph)
  • Amazon SES
  • Brevo
  • Mailgun (САЩ и ЕС)
  • SendGrid
  • Postmark
  • SendLayer
  • Resend
  • SMTP2GO
  • SparkPost (САЩ и ЕС)
  • Mailjet

Възможности

  • Резервна връзка: ако основната връзка се провали, имейлът се изпраща през втора.
  • Журнал на имейлите с търсене, филтри, безопасен преглед, повторно изпращане и експорт в CSV.
  • Известия за неуспешни имейли в Slack, Discord, Microsoft Teams или към произволен webhook.
  • Инструмент за тестов имейл с разбираеми подсказки за отстраняване на проблеми.
  • Режим „Log only“ за тестови (staging) сайтове: имейлите се записват, без да се изпращат.
  • Адрес и име на подателя (From) за всяка връзка. По подразбиране адресът се използва за всеки имейл, за да не отхвърлят доставчиците адресите, зададени от други плъгини; името също може да бъде наложено.
  • Данните за достъп се пазят криптирани в базата данни и никога не се връщат към браузъра.
  • Всичко може да се настрои с константи в wp-config.php.
  • Проверки в „Здраве на сайта“, джаджа в таблото и команди за WP-CLI.
  • Инструменти за поверителност: записите в журнала се включват в експорта и изтриването на лични данни в WordPress.
  • Съвместим с мрежи от сайтове (Multisite).

Външни услуги

Symelo SMTP не изпраща нищо никъде, докато не добавите връзка или канал за известия. След това се свързва само с избраните от вас услуги, както е описано по-долу. Плъгинът никога не изпраща нищо до Symelo LTD: няма проследяване и няма статистика за използването.

Имейл услуги. Всеки имейл отива само до услугата на връзката, която го изпраща: основната връзка, а резервната — само когато основната се провали. Тестовите имейли и имейлите, които изпращате повторно от журнала, следват същия маршрут, освен ако не изберете конкретна връзка за тестовия имейл. Услугата получава целия имейл (адресите From, To, Cc, Bcc и Reply-To, темата, съобщението, заглавките и прикачените файлове) заедно с данните за достъп на връзката (API ключ, SMTP потребителско име и парола или OAuth токен за достъп). API заявките се представят с user agent SymeloSMTP/<version>, който съдържа адреса на сайта ви.

Известия за неуспехи. Само ако добавите канал за известия в Settings → Alerts. Когато имейл не бъде изпратен (най-много веднъж за периода на ограничение) или когато натиснете „Send test alert“, плъгинът изпраща кратко съобщение до въведения от вас webhook URL: името и адреса на сайта ви, темата и получателите на неуспешния имейл, името на връзката, грешката и линк към записа в журнала. Съдържанието на имейла и данните ви за достъп никога не се включват.

Във вашия браузър. Прегледът в журнала на имейлите блокира отдалечените изображения в записаните имейли. Браузърът ви зарежда тези изображения от сървърите, посочени в имейла, само ако натиснете „Load them“. Линковете към symelo.com в раздела Support и в долния колонтитул на администрацията са обикновени линкове: от symelo.com не се зарежда нищо.

За разработчици

Филтри и действия:

  • symelo_smtp_register_mailers (действие): добавя собствен метод за изпращане с $registry->add( new My_Mailer() ).
  • symelo_smtp_mail_sent / symelo_smtp_mail_failed (действия): реагиране на резултатите от доставката.
  • symelo_smtp_log_row (филтър): променя или пропуска ред от журнала, преди да бъде записан.
  • symelo_smtp_capability (филтър): правото (capability), нужно за управление на плъгина (по подразбиране manage_options).
  • symelo_smtp_smtp_presets (филтър): добавя готови SMTP настройки.
  • symelo_smtp_more_from_symelo (филтър): продуктите, показани под „More from Symelo LTD“ в раздела Support.
  • symelo_smtp_http_timeout, symelo_smtp_smtp_timeout (филтри): време за изчакване в секунди.

WP-CLI: wp symelo-smtp status, wp symelo-smtp connections, wp symelo-smtp test <email>, wp symelo-smtp log list, wp symelo-smtp log purge.

Благодарности

Логата на Gmail, Brevo, Mailgun, Resend, SparkPost и PHP са от Simple Icons (CC0). Всички имена на продукти и лога са търговски марки на съответните им притежатели и се използват само за обозначаване на услугите.

Екранни снимки

  1. Connections: основната и резервната връзка и тяхното състояние.

    Connections: основната и резервната връзка и тяхното състояние.

  2. Добавяне на връзка: изберете една от поддържаните имейл услуги.

    Добавяне на връзка: изберете една от поддържаните имейл услуги.

  3. Email log: всеки имейл със статуса на доставката му.

    Email log: всеки имейл със статуса на доставката му.

  4. Изпращане на тестов имейл през обичайния маршрут или през конкретна връзка.

    Изпращане на тестов имейл през обичайния маршрут или през конкретна връзка.

Документация

Инсталиране

  1. Качете плъгина и го активирайте.
  2. Отидете в Symelo SMTP → Settings → Add connection и изберете своя имейл доставчик.
  3. Изпратете си тестов имейл: Symelo SMTP → Settings, след това разделът Send a Test.

Въпроси

Къде се съхраняват API ключовете ми?

В базата данни на WordPress, криптирани с libsodium. За допълнителна защита задайте в wp-config.php отделен ключ от поне 32 случайни знака. Settings → Advanced показва готов ред със случаен ключ от 64 знака:

define( 'SYMELO_SMTP_KEY', '…64 random characters…' );

По-кратките ключове се игнорират, а разделът Advanced и „Здраве на сайта“ предупреждават за тях.

Мога ли да го настроя в wp-config.php?

Да. Например:

define( 'SYMELO_SMTP_MAILER', 'mailgun' ); define( 'SYMELO_SMTP_API_KEY', '…' ); define( 'SYMELO_SMTP_DOMAIN', 'mg.example.com' ); define( 'SYMELO_SMTP_REGION', 'eu' );

Settings → Advanced изброява всички поддържани константи.

Gmail спира да работи след 7 дни

Приложението ви в Google Cloud е в режим „Testing“. Публикувайте го („In production“) или задайте аудиторията му на „Internal“, ако използвате Google Workspace, след което влезте отново.

Мога ли да го използвам на тестов (staging) сайт?

Да. Включете „Log only“ в Settings → General или задайте SYMELO_SMTP_DELIVERY със стойност log_only. Имейлите се записват в журнала, но никога не се изпращат.

Изпраща ли плъгинът данни до Symelo LTD?

Не. Той се свързва само с имейл услугите и каналите за известия, които сте настроили. Вижте „Външни услуги“ в описанието, за да разберете какво къде се изпраща.

Всички версии

  1. 1.0.0ПоследнаWordPress 6.4+ · PHP 7.4+ZIP · 179 KB
    • Първа версия.

    SHA-256 c3942a5271fa788e6c49fd2d766d9810156307112ba348ba1b281f5cbfbdd718