Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Как использовать emailer.php ?

Форум для авторов модов для phpBB 2.0.x.
Andrey_Sv
phpBB 1.2.0
Сообщения: 18
Стаж: 17 лет 5 месяцев

Как использовать emailer.php ?

Сообщение Andrey_Sv »

У меня такая проблема. Я пишу утилитку, работающую вне форума.
Надо отправить сообщение на e-mail некоторым участникам форума.

Я просто взял этот фрагмент из других php файлов форума. Хочу использовать шаблон 'admin_send_email'.
Массивы $board_config и $bcc_list я предварительно заполнил как они должны быть.

$phpbb_root_path = './../../';
require($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'includes/emailer.' . $phpEx);
$subject='Access notification';
$message='Текст письма';
$emailer = new emailer($board_config['smtp_delivery']);
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);
for ($i = 0; $i < count($bcc_list); $i++) {
$emailer->bcc($bcc_list[$i]);
}
$emailer->use_template('admin_send_email');
$emailer->email_address($board_config['board_email']);
$emailer->set_subject($subject);
$emailer->assign_vars(array(
'SITENAME' => $board_config['sitename'],
'BOARD_EMAIL' => $board_config['board_email'],
'MESSAGE' => $message)
);
$emailer->send();
$emailer->reset();

Но все это останавливается на вызове функции use_template().
В чем же дело? Подскажите пожалуйста. Или как еще можно отправить e-mail без template?

И еще вопросик по вышеприведенному коду. В моей программке задано $phpbb_root_path = './../../'; Именно это значение будет использоваться в скрипте emailer.php (т.к. я его вызываю отсюда) или не это? Сдается мне, что там оно должно быть такое './../';
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

А останавливается - это как? Какие сообщения об ошибках выдает?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Andrey_Sv
phpBB 1.2.0
Сообщения: 18
Стаж: 17 лет 5 месяцев

Сообщение Andrey_Sv »

Просто все строки ниже use_template() не выполняются. (При отладке я ставил echo 12345 перед и после этой строки :) )

Никаких ошибок не выдает. Ничего такого 'Could not find email template file' не пишет.
Я попытался копнуть глубже, в файле emailer.php работа скрипта останавливается на строке if (!@file_exists(@phpbb_realpath($tpl_file)))

Хотя предыдущая строчка $tpl_file = $phpbb_root_path . 'language/lang_' . $template_lang . '/email/' . $template_file . '.tpl'; выдает вроде правильный путь к файлу tpl.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Вставьте в начале своего скрипта

Код: Выделить всё

error_reporting(E_ALL);
... и будете видеть текст ошибки.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Andrey_Sv
phpBB 1.2.0
Сообщения: 18
Стаж: 17 лет 5 месяцев

Сообщение Andrey_Sv »

Спасибо за совет.

Вставил я эту строчку, но все равно абсолютно никаких сообщений об ошибках не возникает. По прежнему после use_template() ничего не выполняется :(

Может есть другой способ отправить email без этих шаблонов?
MNU
phpBB 1.0.0
Сообщения: 3
Стаж: 18 лет

Сообщение MNU »

Попробывать подключить файл common.php после extension.inc
Andrey_Sv
phpBB 1.2.0
Сообщения: 18
Стаж: 17 лет 5 месяцев

Сообщение Andrey_Sv »

Спасибо MNU, все заработало!
Только почему-то при локальном тестировании моего скрипта на домашнем форуме при подключении common.php вылезает весь overall header, footer и т.д. :o А после закачки на сервер все работает нормально. Хотя наверное при какой-либо ошибке при отправке почты этот overall header тоже вылезет вместе с ошибкой e-mail failed. :)

Вернуться в «Для авторов (phpBB 2.0.x)»