wpmail.ru wordpress WP Mail

Как создать многоформатный шаблон письма в WordPress для email-рассылок

При отправке писем из WordPress важно учитывать, что разные почтовые клиенты по-разному отображают содержимое. Чтобы обеспечить корректное отображение и повысить доставляемость, часто используют многоформатные письма, которые содержат одновременно HTML и plain text версии. В этой статье подробно рассмотрим, как создавать такие письма с помощью кода и популярных плагинов, а также как интегрировать их в WordPress.

Почему важен многоформатный шаблон письма в WordPress

Многоформатное письмо (multipart/alternative) — это сообщение, которое содержит две версии контента: HTML и plain text. Почтовый клиент выбирает, какую версию показать в зависимости от настроек пользователя и возможностей клиента.

Основные преимущества:

  • Максимальная совместимость — пользователи с ограниченными почтовыми клиентами увидят текстовую версию.
  • Улучшенная доставляемость — меньше шансов, что письмо попадет в спам.
  • Более приятный дизайн — HTML-версия позволяет использовать стили, изображения, кнопки.

Поэтому при создании рассылок на WordPress стоит всегда реализовывать оба формата.

Создание многоформатного шаблона письма с помощью кода

WordPress использует класс PHPMailer для отправки писем, который поддерживает многоформатные письма. Ниже пример функции, которая формирует и отправляет письмо с двумя частями.

function wpmail_send_multipart_email($to, $subject, $html_content, $plain_content) {
    $mail = new PHPMailer\PHPMailer\PHPMailer();
    $mail->isMail(); // Используем mail() или замените на SMTP по необходимости
    $mail->setFrom('no-reply@yourdomain.com', 'Ваш сайт');
    $mail->addAddress($to);
    $mail->Subject = $subject;

    // Добавляем текстовую часть
    $mail->AltBody = $plain_content;

    // Добавляем HTML часть
    $mail->msgHTML($html_content);

    if(!$mail->send()) {
        error_log('Mailer Error: ' . $mail->ErrorInfo);
        return false;
    } else {
        return true;
    }
}

Вызывайте функцию так:

wpmail_send_multipart_email(
    'user@example.com',
    'Тема письма',
    '<h1>Привет!</h1><p>Это HTML-сообщение.</p>',
    'Привет!\nЭто простое текстовое сообщение.'
);

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

Автоматическая генерация plain text из HTML

Чтобы не писать plain text вручную, можно использовать библиотеку, которая конвертирует HTML в текст. Например, html2text или встроенные функции PHP. Вот простой пример:

function wpmail_html_to_plain_text($html) {
    $text = strip_tags($html); // Удаляем теги
    $text = html_entity_decode($text, ENT_QUOTES | ENT_HTML5);
    $text = preg_replace('/\s+/', ' ', $text); // Убираем лишние пробелы
    return trim($text);
}

Используйте эту функцию для генерации текстовой версии перед отправкой.

Использование плагинов для создания многоформатных писем

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

Плагин WP Mail SMTP

Этот популярный плагин не только помогает настроить SMTP, но и позволяет создавать шаблоны писем с HTML и текстовой версией. В сочетании с расширениями, например, WP Mail SMTP Pro вы получите расширенные возможности по кастомизации писем.

Плагин Email Templates

Позволяет создавать визуальные шаблоны писем с HTML и автоматически генерирует текстовую версию. Хорошо интегрируется с WooCommerce и другими системами, поддерживает кастомизацию.

Как интегрировать многоформатные письма в WordPress-рассылки

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

Если вы пишете собственный код для отправки писем, то придерживайтесь следующих рекомендаций:

  • Используйте функцию wpmail_send_multipart_email для формирования писем.
  • Подключайте SMTP-сервер через WP Mail SMTP или напрямую через PHPMailer.
  • Проверяйте корректность отображения в разных почтовых клиентах, например, с помощью Litmus или Email on Acid.

Пример расширенной функции с подключением SMTP

function wpmail_send_smtp_multipart_email($to, $subject, $html_content, $plain_content) {
    $mail = new PHPMailer\PHPMailer\PHPMailer(true);
    try {
        // Настройка SMTP
        $mail->isSMTP();
        $mail->Host = 'smtp.yourprovider.com';
        $mail->SMTPAuth = true;
        $mail->Username = 'smtp_user';
        $mail->Password = 'smtp_password';
        $mail->SMTPSecure = PHPMailer\PHPMailer\PHPMailer::ENCRYPTION_STARTTLS;
        $mail->Port = 587;

        $mail->setFrom('no-reply@yourdomain.com', 'Ваш сайт');
        $mail->addAddress($to);
        $mail->Subject = $subject;

        $mail->AltBody = $plain_content;
        $mail->msgHTML($html_content);

        $mail->send();
        return true;
    } catch (Exception $e) {
        error_log('Mailer Error: ' . $mail->ErrorInfo);
        return false;
    }
}

Советы по улучшению шаблонов писем

Чтобы ваши многоформатные письма работали максимально эффективно, учитывайте следующие моменты:

  • Делайте текстовую версию понятной и читаемой.
  • Избегайте сложных CSS-стилей в HTML, используйте inline-стили.
  • Проверяйте корректность ссылок и изображений.
  • Добавляйте ссылки для отписки и контакты службы поддержки.

Используйте сервисы проверки показа писем в разных клиентах.

Заключение

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

×

AI-плагин

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

SEO и мета-теги

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

Изображения

Комментарии

Подробнее