Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Отправка письма с данными заказа

00 голосов
1
Добрый день!
Возникла такая проблема - письмо с данными по заказу из интернет-магазина не всегда доходить до менеджеров интернет-магазина (их ящик стоит в поле "скрытая копия"). При этом есть основания полагать, что основному получателю - клиенту - письма всегда уходят. При этом не уходит примерно 1 из 10 писем.
Оформление заказа - самописный компонент. Отправка идет через CEvent::SendImmediate (до этого было CEvent::Send, но почитал и решил попробовать Immediate). В какую сторону можно копать? В сторону кодировок отправляемых полей, спецсимволов в них? Может ли не уходить из-за пропуска обязательных полей\плейсхолдеров? Может ли вызывать ошибку, например, когда в письме есть плейсхолдер, а в него передается неопределенная переменная? 
Есть ли возможность получить последнюю ошибку от CEvent::Send, CEvent::SendImmediate? 

Вот, на всякий случай, кусок кода с отправкой.

Код
    // высылаем письмо
   $arLetterFields = array(
      'ORDER_USER' => $_POST['ORDER_PROP_87'].' '.$_POST['ORDER_PROP_86'],
      'ORDER_ID' => $orderID,
      'ORDER_DATE' => $orderDate,
      'PRICE' => $_POST['all_price'],
      'CLUB_CARD' => $club,
      'ORDER_LIST' => $strOrder,
      'EMAIL' => $userMail,
      'PHONE' => $_POST['ORDER_PROP_85'],
      'LOCATION' => $arLocation['COUNTRY_NAME_LANG'].', '.$arLocation['CITY_NAME_LANG'],
      'ADDRESS' => $_POST['ORDER_PROP_91'],
      'ZIP' => 'Почтовый индекс:'.$_POST['ORDER_PROP_100'],
      'CONTACT' => $_POST['ORDER_PROP_87'].' '.$_POST['ORDER_PROP_86'],
      'URINFO' => $urinfo,   // дополнительная информация по плательщику юрлицу
      'DELIVERY_TYPE' => $arDelivery['NAME'],    // тип доставки (словами)
      'DELIVERY_PRICE' => 'точную стоимость доставки Вам сообщит менеджер при подтверждении заказа',   // стоимость доставки
      'PAYMENT_TYPE' => $arPayment['NAME']   // способ оплаты (словами)
   );
   $omail = CEvent::SendImmediate(
      'SALE_NEW_ORDER',
      'ru',
      $arLetterFields,
      'N',
      '385'
   );


Спасибо!
спросил 22 Апр, 13 от HeJIJIu (630 баллов)

1 Ответ

00 голосов
Никто не сталкивался с подобной проблемой?Вот уже даже еще проще информацию понадобилось отправлять - CEvent::Send в массиве $arFields получает всегда одинаковые данные: цифровой номер заказа и дату-время в стандартном формате. Поля пустыми быть не могут (получаю данные из системы оплаты), спецсимволы туда попасть тоже не могут. Письмо отправляется в plain_text, шаблон - минимальный, пара строчек. И все равно не все письма уходят. 

Что же за напасть такая!
ответил 22 Апр, 13 от HeJIJIu (630 баллов)

Похожие вопросы

0 голосов
2 ответов
0 голосов
4 ответов
спросил 26 Дек, 13 от rg (440 баллов)
0 голосов
0 ответов
0 голосов
2 ответов
0 голосов
4 ответов
спросил 21 Дек, 13 от rg (440 баллов)