Отправка электронной почты в WordPress с помощью функции wp_mail(): параметры, примеры, безопасность
Быстрая навигация по записи

Описание функции wp_mail()

Функция wp_mail() используется для отправки электронной почты из WordPress. Она обеспечивает удобный интерфейс для отправки писем, включая возможность добавления заголовков и файлов вложений.

Функция часто применяется в плагинах и темах для уведомлений, восстановления пароля и других уведомлений пользователю.

Параметры

$to

Тип: string|array

Обязательный: Да

Описание: Адрес(а) получателя(ей) письма

Возможные значения:

$subject

Тип: string

Обязательный: Да

Описание: Тема письма

Возможные значения:

$message

Тип: string

Обязательный: Да

Описание: Содержимое письма

Возможные значения:

$headers

Тип: string|array

Обязательный: Нет

Описание: Дополнительные заголовки для письма

Возможные значения:

$attachments

Тип: array

Обязательный: Нет

По умолчанию: array()

Описание: Массив файлов для вложений

Возможные значения:

Возвращаемое значение

Тип: bool

Описание: Возвращает true при успешной отправке письма, false в противном случае

Возможные значения:

• true — письмо успешно отправлено

• false — ошибка при отправке

Примеры использования

Простой пример отправки письма

				
					$sent = wp_mail('user@example.com', 'Тема письма', 'Содержимое письма');
// Проверяем, было ли письмо отправлено
if ($sent) {
    echo 'Письмо отправлено!';
} else {
    echo 'Ошибка при отправке письма.';
}
				
			

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

Отправка HTML письма с заголовками

				
					$headers = array('From: My Site <noreply@example.com>', 'Content-Type: text/html; charset=UTF-8');
$sent = wp_mail('user@example.com', 'HTML письмо', '<strong>Это HTML письмо</strong>', $headers);
				
			

Использование HTML в сообщении

Логирование ошибки при отправке

				
					$sent = wp_mail('user@example.com', 'Тема', 'Текст сообщения');
if (!$sent) {
    error_log('Ошибка отправки письма.');
}
				
			

Использование error_log для отладки

Отправка письма при определенном действии плагина

				
					function my_plugin_send_email() {
    $to = 'user@example.com';
    $subject = 'Уведомление от плагина';
    $message = 'Спасибо за использование нашего плагина!';
    wp_mail($to, $subject, $message);
}
add_action('my_plugin_action', 'my_plugin_send_email');
				
			

Привязка к хуку

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

Валидация входных данных: Функция проверяет корректность email-адресов

Санитизация: Некоторые параметры автоматически очищаются

Рекомендации: Используйте esc_html() для вывода email-адресов и других данных

— Связанные функции

Отправляет письмо через sendmail

Устанавливает тип контента для отправляемого письма

— Хуки

Фильтрует адрес отправителя

Фильтрует имя отправителя

Фильтрует тип контента письма

— Примечания

– Ограничения

Некоторые хостинги могут блокировать отправку писем

– Частые проблемы

  • Письма могут попадать в спам
  • Неверные настройки SMTP могут привести к ошибкам

Оставить комментарий

Нужна помощь с WordPress WooCommerce плагинами темой оптимизацией ?

Упрощаем сложное, создаем впечатляющее!
100% без риска
Нет обязательств по найму
Бесплатная оценка
5900 ₽
Автомобильный каталог
Шаблон авто сайта на русском языке, преображающий онлайн-сервисы для автодилеров и профессионалов автобизнеса. Стильный и интуитивно понятный дизайн обеспечивает быстрый поиск автомобиля мечты

Поможем вывести Ваш бизнес на новый уровень!

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил

Добро пожаловать!

Авторизуйтесь, чтобы продолжить

или

Забыли пароль? Восстановить

* Если аккунта у Вас еще нет, то он будет создан автоматически

Давайте составим техническое задание!
100% без риска
Нет обязательств по найму
Бесплатная оценка стоимости
Здравствуйте! Я асистент на основе искусственного интеллекта. Вы можете общаться со мной, как с человеком — задавайте вопросы, описывайте свои идеи и требования.

С удовольствием помогу вам составить техническое задание для вашего WordPress проекта. Если Вам нужна техническая поддержка по купленному у нас плагину или шаблону, то создайте тикет в личном кабинете.

Выберите подходящий вариант или опишите свою задачу в свободной форме, и я помогу вам составить четкий план действий, для оценки стоимости нашими разработчиками! 😊