Описание функции 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 ', 'Content-Type: text/html; charset=UTF-8');
$sent = wp_mail('user@example.com', 'HTML письмо', 'Это HTML письмо', $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 могут привести к ошибкам