Не работает php mail() на хостинге

Не работает php mail() на хостинге

Почему не отправляется письмо? (php)

Всех приветствую! В PHP не силен. Нужно сделать так, чтобы скрипт отправлял письмо на email.

Есть файл index.html и в нем форма отправки выглядит так:

<form action="mail.php" method="post" id="main_form">
<input name="title" type="text" placeholder="ИМЯ" id="main_name">
<input name="phone" type="text" placeholder="ТЕЛЕФОН" id="main_telephone">
<input name="mess" type="text" placeholder="E-MAIL" id="main_email">
<input type="submit" value="ОТПРАВИТЬ" class="ex_hover">
</form>

И есть отдельный файл mail.php

<?php 
// если была нажата кнопка "Отправить" 
if($_POST['submit']) {
$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000); 
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000); 
$phone = substr(htmlspecialchars(trim($_POST['phone'])), 0, 1000000); 
// $to - кому отправляем 
$to = 'demo@demo.com'; 
// $from - от кого 
$from='test@test.ru'; 
// функция, которая отправляет наше письмо
mail($to, $title, $mess, 'From:'.$from); 
echo 'Спасибо! Ваше письмо отправлено.'; 
} 

?>

Мне надо чтобы после того, как человек оставил заявку мне оно ушло на почту

Способ 11. почтовые шаблоны отключены или привязаны не к тому сайту

В вашем конкретном не отправленном письме в b_event стоит статус отправки 0.

В почтовом шаблоне снята галочка активности или нет привязки к нужному сайту.


Как исправить

Поставить нужные галочки и сохранить.

Не отправляются почтовые сообщения с веб-форм – аспро

С форм обратной связи не отправляются почтовые сообщения. Инструкция не помогла. Наблюдаемые ошибки: страница с формой перезагружается, не отправив сообщение, или отправка происходит, но администратору сообщения не приходят.

Проблемы со спам-фильтрами почтового сервера получателя

Как диагностировать

  1. Письма попадают в спам

  2. Часть писем доходит, часть нет, никакой явной зависимости от содержимого письма нет, со стороны сайта все отправляется корректно, на почтовом сервере ошибок нет.


Что не так

Популярные почтовые клиенты, особенно gmail, имеют фильтры доверия. Если пользователи считают ваши рассылки спамом, то и почтовая служба рано или поздно начнут так считать.

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

Как решить


Настроить SPF, DKIM и DMARC. Так вы скажете почтовой службе, что эти письма посылаются не из неизвестного источника, а с вашего домена. После этого почтовые службы начинают лучше относиться к письмам.

Способ 3. заспамить почтовый сервер рассылками

Если вы пользуетесь промежуточным почтовым сервером, например на Яндексе или Gmail, то сделать рассылку на всю базу клиентов на 10 тысяч человек — не самое лучшее решение. Если вы превысили  ограничение на количество писем в минуту, час или день — ваши письма могут перестать доставлять на 24 часа или пока вы не напишете в техподдержку.


Как исправить

Узнать свою квоту. Настроить рассылки, чтобы их скорость отправки не превышала 3/4 от указанной квоты.

Почему при вводе mail почты, письмо через php не отправляется?

Здравствуйте!

Написал на PHP обратную связь и всё отлично работает, но вот одно НО, если вводить в поле email – “test@gmail.com”, то всё работает, но если ввести “test@mail.ru”, то письмо не отправляется вовсе.
Почта, куда приходит письмо, от Google.

Gmail

Почтовый сервис от компании Google, как известно, больше нацелен на людей, использующих почту для организации рассылки или работы. Ввиду этого Gmail гарантирует практически полное отсутствие проблем с отправкой писем, о возникновении которых вы сможете узнать в кратчайшие сроки.

Если вы оказались в числе тех пользователей сервиса Gmail, сообщения которых перестали достигать адресата или вовсе отправляться, следует выполнить рекомендации по очистке браузера.

Вам также следует полностью исключить возможность общих проблем, состоящих, например, в использовании несуществующих данных.

У пользователей, которым не доходят ваши письма, могут быть некоторого рода ограничения на электронном ящике. Зачастую сводится это к автоматической фильтрации писем или из-за достижения максимального количества хранимой на аккаунте почты.

При неудачных попытках избежать ошибок, следует поступить наиболее разумным способом – обратиться к техническим специалистам почтового сервиса Gmail, предоставив соответствующие скриншоты.

Rambler

Сервис пересылки писем Рамблер по части возникающих у пользователей проблем не сильно отличается от ранее названых ресурсов. В частности это касается необходимости предварительной проверки браузера на стабильность в работе.

Отличительной чертой системы Rambler является наличие настроек ящика в специальном разделе. Только при выставлении настроек должным образом можно избежать большинства проблем с данным сервисом.

Если у вас, несмотря на манипуляции над ящиком, все равно возникают ошибки, рекомендуется составить обращение в техподдержку системы Rambler.

Дополнительно

Там еще какие-то цифровые подписи есть.

определяется заголовком, DKIM-Signature

Еще немного слов о заголовках (все вперемешку)


X-Mru-BL: 0:0:0:0 упаси вас иметь что-нибудь кроме нолей, это блеклисты.

X-Mru-OF: интерфейс с которого посылается, я так и не понял от чего это зависит.

X-PHP-Originating-Script: — я бы советовал добавлять, хотя если вы очень печетесь о безопасности и неразглашении, то можно и запретить. Делается это неподалеку от той настройки PHP которой мы делали. По умолчанию включено.

Еще можно и интересно посмотреть что пишет Яндекс при приеме, очень интересно.

Не отправляется почта mail() с сервера

Если Вы пользуетесь услугами обычного хостинга, то данная функция должна поставляться хостером. Вам нужно задать вопрос в техподдержку.

Если это VPS сервер, и его администрированием занимаетесь Вы, лучше воспользоватся услугами профессиональных администраторов, для настройки sendmail. Это достаточно сложный процесс. Если хотите попробовать сами, то следует настроить exim, например. Статья по настройке – вот.

Как проверить?

Заходите в каталог /var/log ищете там файл mail, в нем содержатся ошибки, если sendmail настроен.

Ещё рекомендую посмотреть в файлу error.log, он обычно лежит в /var/log/apache/error.log. В этом файле, возможно, будут какие-либо ошибки.

Если есть доступ к файлу php.ini, посмотрите параметр sendmail_path, возможно его путь указан не верно. Путь к sendmail можно посмотреть командой which sendmail. Пример правильных параметров:

sendmail_path = /usr/sbin/sendmail -t -i -F"Full Name" -f'emailaddress@example.com'

Не отправляется почта с сайта

После майских праздников пришлось немного повозится с настройкой почты на сайте одного из клиентов.
Дело в том что письма о регистрации никак не хотели доходить до адресата, тоже самое было с письмами о заказах.

Сейчас ищут техподдержку:  eLIBRARY.RU - вход в личный кабинет

И вроде бы всё настроено верно, и функция PHP Mail тоже включена (кстати, именно из-за неё мы переехали на нормальный сервер), и скрипт проверки тоже отрабатывает.
Но в ящике на Mail.ru и некоторых других тишина. Иногда вроде проходит, но в основном все письма блокируются.

Решить вопрос нам помогла техподдержка того хостинга, куда мы переехали.

В чём же причина?

Недавно в Mail.ru прошло ужесточение DMARC-политики, которое могло коснуться большого количества сайтов.

Теперь нельзя использовать почту от mail.ru для отправки писем с вашего сайта.
Т.е. вы не можете отправлять почту со сторонних серверов с адресом отправителя @mail.ru, @bk.ru

Поэтому рекомендуется заменить в настройках сайта e-mail адрес, который используется в поле “От кого”

Пример настройки в Joomla 3

Не работает php mail() на хостинге

Исходя из этого, нужно использовать другую почту (Яндекс или Гугл), либо как самое верное решение – создавать почту на своём домене.
Вида mail@ваш_сайт.ru 
Потому что ужесточение DMARC политики может рано или поздно произойти и в почте Яндекса и в почте Гугла.

Таким адресам почтовики доверяют больше и шанс попасть в почтовый ящик адресата у писем с таким обратным e-mail намного выше.

Тут есть два варианта.

Вариант 1. Если вы не делаете массовых рассылок, то почту для домена можно создать на Яндексе. У них есть специальный сервис – https://pdd.yandex.ru 
Подробнее о подключении вы можете посмотреть здесь.

Вариант 2. Если вы ведёте свою E-mail рассылку, то почту нужно делать на своём сервере. Т.е. заводить почтовый сервер и ящик на вашем домене.
Если будет нужно, то могу написать инструкцию по созданию своего почтового сервера, напишите в комментариях.

Желаю успехов!

Не приходят на почту уведомления о заполнении веб-форм

Шаги решения проблемы:

  1. Переходим в админ панель: Настройки -> Настройки продукта ->Настройки модулей  -> Веб-формы. Отключаем флажок «использовать упрощенный режим». Переходим к настройкам компонента веб-форм на сайте. Вкладка дополнительно. Должен присутствовать флажок активирующий привязку к почтовому шаблону.
  2. Переходим: Панель управления -> Настройки -> Настройки продукта -> Почтовые события. Находим почтовый шаблон для веб-формы. Проверяем правильность данных:
  • Шаблон должен быть активен;
  • Привязан к одному из сайтов(если многосайтовость);
  • От кого: #DEFAULT_EMAIL_FROM#;
  • Кому: #DEFAULT_EMAIL_FROM#».

Не работает php mail() на хостинге

Иногда бывают такие хостинги, просто ужасные, на которых элементарная функции php mail() либо не работает, либо ее надо настраивать. Разберемся подробнее.

Чтобы проверить отправку почту используйте код:

if(mail(“lait@mail.ru”, “My Subject”, “Line 1nLine 2nLine 3”)) echo “message send”;
else echo “message not send”;

Если напишет message not send, то функция отправки сообщений не работает.

Решение:

Ищем на хостинге php.ini (может находиться в папке php-bin) : там пишем или исправляем 1-ю строку:

sendmail_path = “/usr/sbin/sendmail -t -i -f ваша-почта@mail.ru”
session.save_path = “/var/www/profnav/data/bin-tmp”

В этом случае все письма с любых форм должны идти только на эту почту. Чтобы формы не были привязаны только к этой почте, пишем в php,ini: sendmail_path = “/usr/sbin/sendmail -t -i”

А в формах отправки дописывает email:

if(mail(“lait@mail.ru”, “My Subject”, “Line 1nLine 2nLine 3”, “-f lait@mail.ru”)) echo “message send”;
else echo “message not send”;

| 2021-07-28 | Не работает php mail() на хостинге | Иногда бывают такие хостинги, просто ужасные, на которых элементарная функции php mail() либо не работает, либо ее надо настраивать. Разберемся подроб |

Небольшой ликбез

Битрикс посылает почтовые шаблоны функциями CEvent::Send() и CEvent::SendImmediate().

Письмо отправляется, если Битрикс нашел активный почтовый шаблон, подходящий под это событие и соответствующий текущему сайту.


Если письма отправлены через Send, они попадают в таблицу b_event.

Письма, попавшие в b_event, посылаются на агенте (на хитах) или на cron (по расписанию раз в несколько минут). То есть, они отправляются не сразу.

Агенты – это функции, которые выполняются единоразово или периодически. Если для агента пришло время запуска, он исполняется в процессе генерации страницы. То есть в момент, когда очередной пользователь открыл какую-то страницу сайта.

Cron-задачи – это файлы скриптов, которые по расписанию выполняет сервер. Минимальный шаг расписания – минута. Поставить исполнение чаще невозможно. Выполнение скриптов на cron означает, что скрипт не имеет данных в глобальном массиве $_SERVER и запускается командой из командной строки.

Если у вас на сервере есть другие сайты с симлинками к основному и письма отправляются на хитах — вы не можете заранее знать, с какого сайта технически отправится письмо. Это может быть важно, если у вас есть код обработчика события отправки, который есть только на одном сайте, но нет на других.

Стандартные письма, посылаемые через SendImmediate – это письмо при регистрации, смене пароля и другие мгновенные письма. Они не попадают в b_event, а отправляются сразу.

Send и SendImmediate – обертки на функцию Битрикса bxmail, которая использует либо стандартную php-функцию mail, либо custom_mail, если она определена.


Итак, что же могло пойти не так?

Не работает почта? Проблемы на сервере!

Помогла ли вам эта статья?

ДАНЕТ

Преамбула

Кто-то пользуется либами, которые заменяют функцию mail (например phpmailer), они могут общаться с SMTP напрямую, а могут отправлять и на локальный сервер. Но лучше использовать стандартную встроенную и настроенную функцию PHP mail() которая будет отправлять почту на локальный сервер исходящей почты, который в свою очередь будет с ней сам разбираться.

Статья отформатирована не самым лучшим образом. Извиняюсь, время поджимает, а рассказать хочется пока вспомнил, а то потом не времени будет.

Приступим

— Совет

Господа, я люблю ставить все пакетами и новичкам не советую заниматься самодеятельностью, во многих пакетах уже есть скрипты автоматической настройки, результаты которых надо только чутка подправить и все будет хорошо. Кроме того, из репозиториев оно само обновляется и вообще меньше запары просто потому что её меньше.

— Настройка PHPСтавим как хотим php, это вы как-нибудь без меня.

Идем в настройки php, заменяем эквивалентно:

Проблемы в коде

Как диагностировать

Сейчас ищут техподдержку:  Как задать вопрос оператору МТС: несколько способов

  1. Выполнение в Командной php-строке var_dump(mail(‘ваш@емейл’, ‘Тестовое письмо’, ‘Я пришло!’)); пишет true

  2. В вашем конкретном неотправленном письме в b_event стоит статус отправки F или 0

  3. Почтовый шаблон вашего конкретного неотправленного письма активен и привязан к текущему сайту.

Что не так


В этом случае очень вероятно, что какие-то обработчики событий отправки писем сработали неверно.

Кто может решить

Программист

Проблемы на сервере

Как диагностировать

  1. В таблице b_event все или большинство строк имеют статус отправки F

  2. Выполнение в Командной php-строке var_dump(mail(‘ваш@емейл’, ‘Тестовое письмо’, ‘Я пришло!’)); пишет false вместо true.


Что не так

Это проблемы на стороне почтовой утилиты на сервере.

Если почта была настроена, но вдруг перестала ходить, ошибку можно искать в логах почтовой утилиты.

В стандартном виртуальном окружении Битрикса это /home/bitrix/msmtp_default.log


Кто может решить

Администратор сервера или техподдержка хостинга.

Проблемы с отправкой на cron

Как диагностировать

  1. Письма в b_event имеют статус отправки N.

  2. Если выполнить в командной php-строке команду отправки писем из b_event

CEvent::CheckEvents(); несколько самых старых писем с N меняют статус отправки на другой.


Что не так

Чтобы письма отправлялись на cron, а не на хитах, должны быть установлены соответствующие константы и флаги в Битриксе, и скрипт отправки добавлен в расписание cron-задач на сервере от пользователя сайта.

Если cron-задачи нет или она работает некорректно, но при этом Битрикс ожидает, что отправка должна быть на cron — письма отправляться не будут.


Нужно добавлять и проверять cron-задачу или переключить отправку писем на хиты.

Кто может решить

Программист.

Проверить отправляются ли письма

Для проверки достаточно на любой страничке написать следующий php код:

Список отправленных писем

В битриксе нет как такого инструмента, который бы показывал сработавшие почтовые шаблоны и соответствующие отправленные письма. Но всё таки существует обходной путь, как просмотреть их.

Для этого нужно зайти в Админку Битрикс, далее Настройки -> Инструменты -> SQL-запрос. Ввести следующий sql код:

select * from b_event
where event_name like '%form%'
order by date_insert desc

Вместо %form% нужно указать конкретный тип почтового события например так, чтобы посмотреть отправленные письма о новых заказах:

select * from b_event
where event_name like 'SALE_NEW_ORDER'
order by date_insert desc

Либо можете вообще убрать вторую строку. В результате получите таблицу всех сработавших событий. Нас интересует колонка SUCCESS_EXEC.‘Y’ — означает успешная отправка;‘N’ или 0 — письмо не отправлено;‘F’ — ошибкаЕсли найденные записи имеют значение ‘Y’ — это означает, что они отправлены и проблем быть не должно.Но у нас всё плохо, значит обращаемся в тех. поддержку хостинга.

Если ‘N’ или 0- письма по какой-то причине не ушли.Может помочь такое решение:перейдите по пути: <вашсайт>/bitrix/php_interface/dbconn.php

Закомментируйте или удалите следующие строки:

define('BX_CRONTAB', true);
define('BX_CRONTAB_SUPPORT', true);

Попробуйте протестировать снова. Если после этого SUCCESS_EXEC также имеет значение ‘N’, то перейдите в  <вашсайт>/bitrix/managed_cache/ . Удалите содержимое через модуль управления структурой( не в коем случае не используйте FTP). Если вылезет ошибка, то не хватает доступа. Измените доступ к папкам и повторите снова.

Еще один способ — воспользоваться встроенными методами CMS Битрикс по диагностике.

Ошибки, найденные в процессе диагностики, могут являються причиной вашей проблемы.

Возможная ошибка — почтовый сервер не поддерживает формат письма. Попробуйте изменить настройки отправки.

  • Убрать BBC
  • Убрать дублирование email в заголовке
  • Установить Конвертировать 8-битные заголовки

Если ничего не помогло, попробуйте запросить у хостера логи почтового сервера.

Хочу рассмотреть частный случай:

Способ 1. пользователь сайта не имеет права на чтение настроек

Баг мог быть пойман на bitrixEnv при удалении сайта через меню. Владельцем файла с настройками /home/bitrix/.msmtprc становится root, пользователь bitrix не имеет прав доступа, почта не отправляется.


Как исправить

Поменять владельца на bitrix:bitrix

Способ 10. битый символ в теле письма

В функции наполнения полей перед отправкой письма случайно обратиться к строке с кириллицей как к массиву. Это вернёт один битый байт вместо двухбайтного символа. Битрикс не сможет корректно записать его в базу. Сериализованный массив полей в b_event будет битым и письмо не сможет отправиться.

Не работает php mail() на хостинге

Способ 12. частые и избыточные обновления заказов


Кроме того, что почта может не приходить, почта может еще и дублироваться. Обычно 20 одинаковых писем не нравятся пользователям гораздо больше, чем 0.

Самая частая проблема — изменение статусов заказов и флага отмены при обменах с внешними сервисами CRM, 1С и другие. Письмо отправляется на каждое изменение статуса заказа. Даже если статус меняется на такой же, функция вызвана, значит, надо отправить шаблон.

Как исправить

Полностью отключить дублирующие почтовые шаблоны, если они не нужны. Либо писать скрипт, который бы не позволял отправлять одинаковые письма на один e-mail.  

Способ 13. свойства заказа указываются после его создания


В письме о создании заказа не хватает информации, хотя в административной части в заказе она есть.

При оформлении заказа на сайте заказ создается целиком со свойствами, товарами, доставками и оплатами. При отправке письма на создание заказа Битрикс обладает всей необходимой информацией.

При создании заказов из внешних систем, особенно если это непроверенные модули из маркетплейса или написанные специально для вашего проекта, заказ может быть сначала создан, а потом к нему привяжутся свойства, товары и т.д. Письмо же отправляется ровно при создании заказа, хотя в тот момент в нем может быть только номер, общая сумма и пользователь.


Письмо может либо просто не уйти, если почта получателя берется из свойств, либо уйти без информации о заказе.

Как исправить

Если есть возможность переписать код — создавать заказ сразу со всей информацией. Если такой возможности нет — не давать отправлять такие письма, либо переводить отправку писем с создания заказа на другие события или на расписание.

Способ 14. письмо от mail или list

В настройках Битрикса отправителем по умолчанию указан адрес на mail или list, письма могут не доставляться на gmail.


Как исправить

Не использовать как отправителя адреса с mail или list. В идеале — настроить почтовый ящик с доменом своего сайта, настроить spf и dkim.

Сейчас ищут техподдержку:  Не отправляются почтовые сообщения с веб-форм - Аспро

Способ 2. слишком много писем одновременно

При отладке почтовых шаблонов часто приходится ставить себя в скрытую копию. Если это магазин с сотней заказов в час или корпоративный портал с сотней работников в день, то писем будет приходить очень много.


В почтовых серверах может стоять ограничение на количество писем в минуту,  час или день. Если лимит превышен, письма могут быть не доставлены. Ошибки можно увидеть в логах или узнать у техподдержки почтового сервера.

Как исправить

Увеличить пропускной лимит или уменьшить количество писем. Например, убрать лишних получателей из копий, отключить лишние почтовые шаблоны.

Способ 4. #всс# в кому или копии в письмах не из интернет-магазина


Битрикс заполняет заглушку #BCC# в полях Кому и Копии только в письмах, отправляемые модулем Интернет-магазин (например создание заказа).

Если вы добавите #BCC# в Кому или Копию в шаблон регистрации пользователя или в свой кастомный, или любой другой шаблон без приставки SALE — письмо не отправится и будет иметь статус отправки F.

А вот в поле Скрытая копия он заполняется везде.

Способ 5. незаполненные заглушки для кому или копии

Если у вас в Кому или Копии стоит #EMAIL#, а в функцию заполнения полей письма вкралась ошибка и ключ EMAIL пропал — письмо не отправится. Даже если в других полях все данные корректны. В таблице оно будет иметь статус отправки F.

Способ 6. константа bx_crontab_support = true, хотя отправка на хитах

При создании песочниц через Веб-окружение Битрикса, оно по умолчанию добавляет в dbconn.php константу BX_CRONTAB_SUPPORT. Если при создании была выбрана Поддержка cron = Y, то константа установится true. При этом если BX_CRONTAB не равен true, то отправка писем не произойдет (а BX_CRONTAB обычно задается только в cron-задаче).

Как исправить

Перенести отправку на cron как положено или убрать константу BX_CRONTAB_SUPPORT.

Способ 7. в битриксе стоит галочка отправки на cron, но cron-задачи нет

На боевом сервере может быть настроена отправка писем на cron. Инструкция есть в

документации Битрикса


При разворачивании бэкапа все настройки боя переносятся, при этом если cron-задачи поставлено не было — письма не отправятся.

Либо инструкции Битрикса могли быть выполнены не полностью или некорректно.

Как исправить


Поставить cron-задачу или перенести отправку на хиты.

Способ 9. задачи на cron и сайт работают на разных версиях php

Cron – это просто расписание выполнения определенных консольных команд на сервере. Если это должно быть выполнение скрипта php, то в команде нужно писать путь, куда установлен php. На сервере может стоять несколько версий php. Если у cron-задачи указана не та версия, на которой работает сайт, будут ошибки php при выполнении задачи. Сайт при этом отлично работает.

Например, сайт работает на php 5.6, а задача отправки писем на 5.3, и кто-то из разработчиков добавил в init.php объявление массива через квадратные скобки, а не array(). Сайт работает, но письма не отправляются из-за критичной ошибки php.


Как исправить

Проверять путь к php при установке cron-задачи, чтобы это был путь с версией как на сайте. Перед постановкой cron-задачи запускать команду в консоли и проверять ее вывод на наличие ошибок. Перенаправлять ошибки исполнения cron-задач в лог-файл.

Чем проверять нашу работу?

Тестируем вот этим методом

Яндекс почта

Затрагивая почтовый сервис Яндекс важно заметить, что данный ресурс позволяет пользоваться системой подключения собственного доменного имени и отправлять любые сообщения от лица нужного имейла. Вследствие указанной особенности любые проблемы с отправкой почты со сторонним доменном могут исходить от недействительности зарегистрированного адреса.

Подробнее: Почему не отправляются письма на Яндекс.Почте

Кроме сказанного, ошибка при пересылке почты вполне может быть связана с прекращением работы домена, его блокировкой или неправильными настройками. Таким образом, если вы столкнулись с трудностями такого рода во время использования собственного домена, проверьте его на предмет работоспособности.

Проблемы с недействительным доменным именем также распространяются на владельцев обычных почтовых ящиков. Однако шанс возникновения ситуации с блокировкой пользователя в системе Яндекс крайне низок.

Что же касается общих проблем, ошибки с отправкой, скорее всего, происходят от браузера или блокировки со стороны получателя. Решить их можно путем чистки обозревателя и при ликвидации факта блока на стороне адресата.

Вы всегда можете обратиться за помощью по проблемам подобного рода к техническими специалистам Яндекс.Почты.

Подробнее: Как написать в техподдержку Яндекс.Почты

Как настроить отправку писем через event::send?

Всем привет! Не отправляются письма с сайта. Интересный факт письмо отправляется с админки, а с сайта – нет. С помощью командной php-строки отправлены письма методами Event::send и CEvent::Send, в первом случае письмо отправилось, во втором – нет, но сообщение выдало что “успешно отправлено ” в sql таблице b_event письмо имеет статус SUCCESS_EXEC = F. Не могу понять, где прописан CEvent::Send, помогите пожалуйста

1-я проверка Event::send

use BitrixMainMailEvent;
$arFields = array(
    "EVENT_NAME" => "SALE_NEW_ORDER",
    "LID" => "s1",
    "C_FIELDS" => array(
    "EMAIL"    => "mail_to@mail.com",
    "BCC"    => "mail_to@mail.com",
    "DEFAULT_EMAIL_FROM"    => "mail_from@mail.com",
    ),
    "DUPLICATE"=>"Y",
);
$result=Event::send($arFields);
if($result->GetId()){
    echo 'Успешно отправлено!';
}else{
    echo 'Отправка не удалась!';
}

2-я проверка CEvent::Send

$arEventFields = array(
     "EMAIL_TO"            => "mail_to@mail.com",
    "BCC"                 => "mail_to@mail.com",
   "DEFAULT_EMAIL_FROM"    => "mail_from@mail.com",
    "ORDER_LIST"    => "состав заказа",
    );
$result=CEvent::Send("SALE_NEW_ORDER", "s1", $arEventFields,'Y');
if(intval($result)){
    echo 'Успешно отправлено!';
}else{
    echo 'Отправка не удалась!';
}
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Оставьте комментарий

Adblock
detector