Я рассылку настраивал так:
в папке /home/bitrix/www/bitrix/php_interface создал файл cron_subscribe.php
Содержимое:
[CODE]<?php
$_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__)."/. ./..");
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS",true);
define('BX_NO_ACCELERATOR_RESET', true);
define('CHK_EVENT', true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
@set_time_limit(0);
@ignore_user_abort(true);
CAgent::CheckAgents();
define("BX_CRONTAB_SUPPORT", true);
define("BX_CRONTAB", true);
CEvent::CheckEvents();
if(CModule::IncludeModule('sender'))
{
\Bitrix\Sender\MailingManager::checkPeriod(false);
\Bitrix\Sender\MailingManager::checkSend();
}
require($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/tools/backup.php");
?>[/CODE]
Создал файл cron_events.php
[CODE]<?php
$_SERVER["DOCUMENT_ROOT"] = "/home/bitrix/www";
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
set_time_limit(0);
define("LANG", "s1");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
if (CModule::IncludeModule("subscribe"))
CPostingTemplate::Execute();
$cPosting = new CPosting;
$cPosting->AutoSend();
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
?>[/CODE]
Настроил расписание отправки в компоненте рассылки, и указал что работает по крону.
в сам крон добавил задание
* * * * * /usr/bin/php70 -f /home/bitrix/www/bitrix/php_interface/cron_subscribe.php > /home/bitrix/www/bitrix/php_interface/cron_subscribe.log
В итоге рассылка работает. Правда письмо может не дойти, или придет 4 вместо 1. Но это уже совсем другая история...
