Код отправляет тестовое письмо с вложенным файлом через 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 "Письмо отправлено!";
?> |