Не получается настроить автоматическую рассылку подписчикам.
пруф
Теперь смотри код:
$arMRubricList - массив с рубриками. Если убрать сроку $arFields["STATUS"] = "D";, то при добавлении выпуска статус автоматом ставится на "В процессе" (Р), но таблица "b_posting_email" остается пустой. В следствии чего агент CPosting::AutoSend(".$ID.",true); ничего не отсылает. А вот если оставить эту строчку, а потом сменить статус, то таблица заполнится е-майлами подписчиков.
Возникает вопрос: как же тогда настроить автоматическую рассылку подписчикам? т.к. выпуск генерируется сразу со статусом P.
Надеюсь ясно, что я пытаюсь растолковать
------------------------------
Из выявленных ошибок при проверке сайта:
1. Наличие необходимых модулей php Не установлены требуемые расширения:
Поддержка ssl не настроена в php.
2. Загрузка файла больше 4Мб подробнееОшибка
Стоит на денвере. После установки лишь изменились настройки в php.ini для установки сайта в win1251.
Цитата |
---|
Екатерина Обросова писала: При указании статуса в поле STATUS следует учитывать, что при переводе из одного статуса в другой могут выполняться определенные действия. Так, например, при переводе из статуса "Черновик" ("D" в статус "В процессе" ("P" формируется список адресов по которым будет происходить отправка. А именно емейлы на которые требуется отправить выпуск попадают в таблицу b_posting_email со статусом "Y". Если при добавлении выпуска сразу указать статус "В процессе" ("Р" то процесс добавления емейлов с таблицу b_posting_email не произойдет и выпуск никому не отправится. При этом статус выпуска сменится на "S" (отправлен успешно). |
Теперь смотри код:
Код |
---|
foreach($arMRubricList as $RKey => $arRubric) { //echo '$arRubric -> '; //echo"<pre>";print_r($arRubric);echo"</pre>"; if(CPostingTemplate::IsExists($arRubric["TEMPLATE"])) { $strFileName= $_SERVER["DOCUMENT_ROOT"]."/".$arRubric["TEMPLATE"]."/lang/".$arSite["LANGUAGE_ID"]."/template.php"; if(file_exists($strFileName)) include($strFileName); //Execute template $strFileName= $_SERVER["DOCUMENT_ROOT"]."/".$arRubric["TEMPLATE"]."/template.php"; if(file_exists($strFileName)) { ob_start(); $arFields = @include($strFileName); $strBody = ob_get_contents(); ob_end_clean(); } } if(is_array($arFields)) { //echo '$arFields -> '; //echo"<pre>";print_r($arFields);echo"</pre>"; $cPosting=new CPosting; $arFields["BODY"] = $strBody; $arFields["RUB_ID"] = array($arRubric["ID"]); $arFields["MSG_CHARSET"] = $arLang["CHARSET"]; [COLOR=#FF0000]$arFields["STATUS"] = "D"; // realy need[/COLOR] //echo '$arFields -> '; //echo"<pre>";print_r($arFields);echo"</pre>"; $ID = $cPosting->Add($arFields); if($ID>0) { if($cPosting->ChangeStatus($ID, "P")) { echo 'true ChangeStatus<br />'; $arEmailStatuses = CPosting::GetEmailStatuses($ID); echo"<pre>";print_r($arEmailStatuses);echo"</pre>"; $time = ConvertTimeStamp(time()+10, "FULL"); CAgent::AddAgent("CPosting::AutoSend(".$ID.",true);", "subscribe", "N", 0, $time, "Y", $time); /* $res = $cPosting->SendMessage($ID, 10, 10); if(!$res) { echo "<hr />false SendMessage<br />"; echo $cPosting->LAST_ERROR.'<br />'; } else { echo "<hr /><h1><font color=blue>SendMessage</font></h1><br />"; } */ } else { echo "false change status<br />"; echo $cPosting->LAST_ERROR.'<br />'; } } else { echo "false add posting<br />"; echo $cPosting->LAST_ERROR.'<br />'; } } } |
$arMRubricList - массив с рубриками. Если убрать сроку $arFields["STATUS"] = "D";, то при добавлении выпуска статус автоматом ставится на "В процессе" (Р), но таблица "b_posting_email" остается пустой. В следствии чего агент CPosting::AutoSend(".$ID.",true); ничего не отсылает. А вот если оставить эту строчку, а потом сменить статус, то таблица заполнится е-майлами подписчиков.
Возникает вопрос: как же тогда настроить автоматическую рассылку подписчикам? т.к. выпуск генерируется сразу со статусом P.
Надеюсь ясно, что я пытаюсь растолковать
------------------------------
Из выявленных ошибок при проверке сайта:
1. Наличие необходимых модулей php Не установлены требуемые расширения:
Поддержка ssl не настроена в php.
2. Загрузка файла больше 4Мб подробнееОшибка
Стоит на денвере. После установки лишь изменились настройки в php.ini для установки сайта в win1251.
Пишите по доработкам: my.grebnev@gmail.com