Отправка почты через bxmail в 1С-Битрикс: SMTP и OnBeforePhpMail

Внимание! Работает режим премодерации. Все сообщения публикуются после проверки!
Страницы: 1
Ответить
RSS
Отправка почты через bxmail в 1С-Битрикс: SMTP и OnBeforePhpMail
bxmail в 1С-Битрикс: отправка почты с учетом SMTP и событий OnBeforePhpMail

При разработке на 1С-Битрикс часто возникает необходимость отправлять  письма: уведомления пользователям, системные оповещения, рассылки и пр.  Стандартная функция PHP mail() работает, но в 1С-Битрикс  предусмотрен более расширенный механизм, учитывающий события и  внутренние настройки системы. Одной из таких функций является bxmail, определённая в файле bitrix/modules/main/tools.php. Ниже разберём, что это за функция, как она работает и в каких случаях стоит её использовать.
Изменено: Валерий Макеев - 29.09.2025 12:55:26
Код отправляет тестовое письмо с вложенным файлом через bxmail,  используя MIME-форматирование для корректного отображения в почтовых  клиентах.
Код
<?php
// Подключаем ядро Битрикс (если скрипт выполняется вне контекста Битрикс, потребуется дополнительная настройка)
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php';

// Генерируем уникальный разделитель для MIME
$boundary = "----=" . md5(uniqid(time()));

// Получатель и тема
$to = "test@example.com";
$subject = "Тест с вложением";

// Текст письма
$message = "Это тестовое письмо с вложенным текстовым файлом.";

// Формируем MIME-заголовки
$headers = "From: no-reply@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";

// Формируем тело письма с вложением
$body = "--$boundary\r\n";
$body .= "Content-Type: text/plain; charset=utf-8\r\n\r\n";
$body .= $message . "\r\n\r\n";

// Добавляем вложение
$filename = "test.txt";
$file_content = "Содержимое тестового файла";
$body .= "--$boundary\r\n";
$body .= "Content-Type: application/octet-stream; name=\"$filename\"\r\n";
$body .= "Content-Transfer-Encoding: base64\r\n";
$body .= "Content-Disposition: attachment; filename=\"$filename\"\r\n\r\n";
$body .= chunk_split(base64_encode($file_content)) . "\r\n";
$body .= "--$boundary--";

// Отправляем через bxmail
bxmail($to, $subject, $body, $headers);

echo "Письмо отправлено!";
?>
Страницы: 1
Ответить
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить картинки
 

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Разработка интернет-магазина с готовой версткой

от 4 недель

от 90 000 рублей

* указана минимальная стоимость. Стоимость выбранной лицензии «1С-Битрикс» оплачивается отдельно.

Лендинг

от 3 дней

от 25 000 рублей

Разработка одностраничного сайта на платформе Битрикс

* стоимость зависит от наличия верстки, использования готового решения и т.д.

Перенос сайтов на «1С-Битрикс»

сайты на платформе «1С-Битрикс» — это удобство, надежность и высокая посещаемость

от 12 000 рублей
Перенос сайтов с любых CMS и статичных страниц на платформу «1С-Битрикс», с учетом дизайна, верстки и урл-адресов. С сохранением всей информации и структуры сайта.

* зависит от объема выполняемых работ.