@VladimirPortev

Как отправить вложенный файл из инфоблока в письме в Битриксе?

Всем привет. Сайт на битриксе.
У меня идет отправка письма следующим образом
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$to = $_POST['email'];
$subject = "отправка письма";
$from = "site@yandex.ru";
$headers = "From: $from\r\nReply-To: $from\r\nContent-type: text/plain; charset=windows-1251\r\n";
$redir = $_SERVER[HTTP_REFERER];
header("Location: $redir");
$telo .= "\n\n—Cсылка: ".$redir;
$telo .= "\n\n—Cообщение: ".$_POST['textarea'];
mail($to, $subject, $telo, $headers);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
?>

Сейчас у меня отправляется ссылка страницы с которой была отправлена форма.
Я сделал дополнительно свойство в инфоблоке типа файл: FILEU.
И теперь мне надо, чтобы при отправке письма отправлялся этот прикрепленный файл.
Соответсвенно файлы на всех страницах разные. Как мне сделать, чтобы отправлялся этот файл?
Спасибо!
  • Вопрос задан
  • 2269 просмотров
Решения вопроса 1
winer
@winer
занимаюсь разработкой сайтов на 1c-bitrix
Попробуйте использовать встроенный функционал битрикса для отправки писем. При необходимости шаблон письма можно будет редактировать из админки.
Тут создаете тип почтового шаблона /bitrix/admin/type_admin.php?lang=ru
А тут /bitrix/admin/message_admin.php?lang=ru почтовый шаблон.

Для отправки письма используйте вот функцию CEvent::Send . С помощью нее же и файлы к письму прикрепляются (последний параметр).

Чтобы посмотреть статус отправки письма можно зайти в "Таблицы" /bitrix/admin/perfmon_tables.php?lang=ru и там найти таблицу b_event.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@karminski
Senior React.JS Developer
1. Если вы отправляете письмо обычной функцией mail, то зачем вам подключать заголовочные файлы Битрикс?
2. Используйте для отправки писем готовые библиотеки типа github.com/PHPMailer/PHPMailer или swiftmailer.org
3. Отправка писем с файлами
stackoverflow.com/a/12302354
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы