wpmail.ru wordpress WP Mail

Как создать автоматические письма в WordPress на основе событий сайта

Автоматизация отправки писем в WordPress — важный элемент, который помогает вовремя информировать пользователей о событиях на сайте без участия администратора. В этой статье подробно разберем, как создать автоматические письма, которые будут отправляться при определенных действиях — регистрации пользователя, оформлении заказа, отправке формы и других событиях.

Основы автоматических писем в WordPress: почему это важно и как работает

Автоматические письма — это сообщения, которые сайт отправляет сам, без ручного вмешательства, по триггерам (событиям). Например, после успешной регистрации, смены пароля, комментария или покупки. Такой подход повышает вовлеченность пользователей, улучшает коммуникацию и снижает нагрузку на администратора.

В WordPress автоматизация чаще всего строится на хуках — специальных действиях и фильтрах, которые срабатывают в момент события. Используя хуки, можно подключить функцию отправки письма.

Для удобства часто применяют плагины, которые расширяют возможности почтовых уведомлений и упрощают настройку.

Выбор плагина для автоматических email-уведомлений в WordPress

Среди популярных решений для автоматизации email в WordPress выделяются:

  • WP Mail SMTP — улучшает доставляемость писем, но не автоматизирует триггерные рассылки.
  • AutomateWoo — мощный инструмент для WooCommerce, автоматизирует email на основе событий магазина.
  • MailPoet — позволяет создавать рассылки и автоматические письма без навыков программирования.
  • Uncanny Automator — помогает связать события на сайте с действиями, включая отправку писем.
  • WPGPT — плагин от WPSHOP, который можно использовать для генерации персонализированного контента в письмах.

Выбор зависит от целей и сложности задач. Для базовой автоматизации часто достаточно Uncanny Automator или MailPoet. Для сложных сценариев лучше использовать AutomateWoo или писать код самостоятельно.

Пример: создание автоматического письма при регистрации пользователя с помощью кода

Рассмотрим, как с помощью собственного кода отправить приветственное письмо сразу после регистрации нового пользователя.

function wpmail_send_welcome_email($user_id) {
    $user_info = get_userdata($user_id);
    $to = $user_info->user_email;
    $subject = 'Добро пожаловать на наш сайт!';
    $message = 'Здравствуйте, ' . $user_info->first_name . '! Спасибо за регистрацию на нашем сайте.';
    $headers = array('Content-Type: text/html; charset=UTF-8');
    wp_mail($to, $subject, $message, $headers);
}
add_action('user_register', 'wpmail_send_welcome_email');

Этот код подключается к хуку user_register и отправляет письмо с приветствием на email нового пользователя. В письме можно использовать HTML и динамические данные пользователя.

Расширение: добавление шаблона письма с HTML и стилями

Чтобы письмо выглядело красиво, создадим HTML-шаблон внутри функции:

function wpmail_send_welcome_email($user_id) {
    $user_info = get_userdata($user_id);
    $to = $user_info->user_email;
    $subject = 'Добро пожаловать на наш сайт!';
    $message = '<html><body>' .
        '<h2>Здравствуйте, ' . esc_html($user_info->first_name) . '!</h2>' .
        '<p>Спасибо за регистрацию на нашем сайте.</p>' .
        '<p>Мы рады видеть вас в нашей команде.</p>' .
        '</body></html>';
    $headers = array('Content-Type: text/html; charset=UTF-8');
    wp_mail($to, $subject, $message, $headers);
}
add_action('user_register', 'wpmail_send_welcome_email');

Так вы сможете оформить письмо по фирменному стилю, добавить ссылки и изображения.

Автоматические письма при отправке форм с плагином Contact Form 7

Если на сайте используется популярный плагин Contact Form 7, письма можно настроить прямо в админке, но часто требуется добавить динамическую логику.

Для примера покажем, как отправлять дополнительное письмо администратору после успешной отправки формы с пользовательскими данными.

function wpmail_cf7_additional_email($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    if ($submission) {
        $data = $submission->get_posted_data();
        $to = get_option('admin_email');
        $subject = 'Новая заявка с формы контактов';
        $message = "Пользователь " . $data['your-name'] . " отправил сообщение: " . $data['your-message'];
        wp_mail($to, $subject, $message);
    }
}
add_action('wpcf7_mail_sent', 'wpmail_cf7_additional_email');

Этот код добавляет отправку письма на email администратора после успешной отправки любой формы Contact Form 7.

Как улучшить доставляемость автоматических писем

Автоматические письма могут не доходить до получателей из-за фильтров спама или неправильной настройки сервера. Чтобы повысить вероятность доставки:

  • Настройте SMTP отправку через плагины, например, WP Mail SMTP.
  • Используйте сервисы рассылок с API: SendGrid, Mailgun, Postmark.
  • Добавьте SPF, DKIM и DMARC записи в DNS вашего домена.
  • Следите за качеством контента писем — избегайте спам-слов, используйте корректный HTML.

Практический пример: автоматические письма о статусе заказа в WooCommerce

Если на сайте используется WooCommerce, автоматические письма — стандартная функция. Но иногда нужно добавить свои письма или изменить логику отправки.

Пример: отправить письмо клиенту при смене статуса заказа на "Выполнен" с дополнительной информацией.

function wpmail_woocommerce_order_status_completed($order_id) {
    $order = wc_get_order($order_id);
    $to = $order->get_billing_email();
    $subject = 'Ваш заказ выполнен';
    $message = '<p>Здравствуйте, ' . esc_html($order->get_billing_first_name()) . '!</p>' .
        '<p>Ваш заказ №' . $order->get_order_number() . ' был успешно выполнен.</p>' .
        '<p>Спасибо за покупку!</p>';
    $headers = array('Content-Type: text/html; charset=UTF-8');
    wp_mail($to, $subject, $message, $headers);
}
add_action('woocommerce_order_status_completed', 'wpmail_woocommerce_order_status_completed');

Этот код добавляет дополнительное письмо, которое отправляется после стандартного уведомления WooCommerce.

Заключение

Автоматические письма в WordPress — мощный инструмент для улучшения взаимодействия с пользователями. Используя хуки, плагины и кастомный код, можно создать гибкие сценарии уведомлений под любые задачи.

Для начала рекомендуем попробовать простой пример с хуком user_register и расширять функционал, учитывая особенности вашего сайта. Не забывайте про настройку SMTP и сервисы для повышения доставляемости.

Если хотите получить готовое решение с генерацией контента на базе ИИ, обратите внимание на плагин WPGPT — он поможет сделать письма персонализированными и интересными.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее