Отправка почты через 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-Битрикс

Лечение сайтов от вирусов

восстановление сайта и подъем версии PHP

от 25 000 рублей
Лечение сайтов на решениях АСПРО и прочих.

* полный комплекс лечения проекта и закрытия дыр

Лендинг

от 3 дней

от 25 000 рублей

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

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

Техническая поддержка

сайтов на CMS 1C-Битрикс

от 20 000 рублей/месяц
Оптимизация производительности действующих интернет-проектов, наполнение и сопровождение, полная техническая поддержка и продвижение в поисковых сетях.

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