modPHPMailer ложит сервер на ломатки 500
столкнулся с проблемой отправки писем.
из терминала, ОК:
echo -e "To: tut@domena.net\\nSubject: Test\\nTest\\n" | sendmail -bm -t -vотрывок функции снипета, ОК:$headers = "Content-type: text/html; charset=utf-8 \r\n";
if ( $data[email] ) {
$headers .= "From: ".$data[name]." <".$data[email].">\r\n";
$headers .= "Bcc: ".$data[email]."\r\n";
} else {
$headers .= "From: ".$data[phone].">\r\n";
}
if ( mail($data['to'], $data['subject'], $data['tpl'], $headers) ) {
$fn_answer = 'письмо отправленно успешно';
} else {
$fn_answer = 'ошибка отправки письма';
}
return $fn_answer;НО стоит запустить modPHPMailer в снипете, серверу больше нечего отдать кроме 500. к томуже если запустить modPHPMailer из Console все оправляется и работает.
в логах modx пусто, в логах сервера:
[error] 20478#20478: *7 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to a member function getService() on null inпожскажите пожалуйста у кого какие мысли и идеи, как это решить.
modx_2.7.0
-= РЕШЕНИЕ ( от Андрей Шевченко ) =-
Инициализировать модекс в снипете
Комментарии: 9
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
далее указывался снипет и строка где вызывался modPHPMailer
Дальше нужно смотреть «снипет и строка где вызывался modPHPMailer» и проверять, почему он вызывает почтовик из пустоты.
в снипете была оставлена, ради експеримента, только эта строка:
серверу хватило )), вспомнил что даже простым php из снипета почта не отправлялась, но и ошибок не было.
Интересно, а зачем нужно было инициализировать модекс если по идее он это делает автоматом (возможно ошибаюсь) и почему сейчас, так как это скрипт работал и ранее, без доп. инициализации… странности да и только ))
Большое спасибо за участие и помощь!