ExBB Community » » Обсуждение » Отправить письмо администратору сайта

Страниц (5): « 1 [2] 3 4 5 »
 

16. Parapsixolog - 22 сентября 2018 — 00:28 - перейти к сообщению
Flat , я сделал по вашей инструкции, кнопка появилась, но не работает.

1. Для зарегистрированных пользователей окно отправки e-mail открывается, но при попытке отправить сообщение движок пишет:

Notice: Undefined index: captcha in C:\OpenServer\domains\bacup\tools.php on line 194

Вот эти строки:
CODE:
if ($fm->exbb['anti_bot'] && ($fm->input['captcha'] == '' || !isset($_SESSION['captcha']) || $fm->input['captcha'] !== $_SESSION['captcha']))
{
$fm->_Message($fm->LANG['Registration'],$fm->LANG['CaptchaError']);


И в окне сообщение:
Цитата:
Регистрация
Не введен или введен неверный защитный код!


Для других пользователей отправка почты тоже не работает. Но если вернуть не правленый файл tools.php всё начинает работать опять.

2. А для гостей страница отправки e-mail вообще не открывается, пишет:

Цитата:
Функция электронной почты отключена на форуме!


Я уже и все настройки пролез, но так и не нашел ни чего. Поиск по exbb тоже ни чего не дал.
17. Flat - 22 сентября 2018 — 09:33 - перейти к сообщению
Parapsixolog , - это моя недоработка - не протестил отправку письма, делал в попыхах. Посмотрел что форма работает и всё. Теперь всё решил.

1) Обязательно закинте, если не закинули ещё, строчки в LANG файл о чём я писал выше.

2) В папке templates/ваш_скин открываем файл mailform.tpl. Меняем всё что там находится на мой вариант, который я приводил выше. Затем, уже в изменённом файле ищем строку:
CODE:
<input type="hidden" name="dosend" value="yes">

и после неё вставляем:
CODE:
<input type="hidden" name="admin" value="1">

Затем находим строку:
CODE:
if($fm->exbb['anti_bot'] === TRUE && $fm->user['id'] === 0)

и меняем её на строку:
CODE:
if($fm->exbb['anti_bot'] === TRUE && $fm->user['id'] === 0 && isset($fm->input['admin']))

С этим файлом закончили.

3) Открываем первоначальный(не изменённый как выше) tools.php, и производим следующие изменения.
Находим строку:
CODE:
if ($fm->user['id'] === 0) {
$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['GuestMail']);
}

и меняем её на:
CODE:
if ($fm->user['id'] === 0 && !isset($fm->input['admin'])) {
$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['GuestMail']);
}

Находим строку:
CODE:
$fm->input['subject'] = $fm->bads_filter(substr($fm->input['subject'],0,255));
$fm->input['message'] = $fm->bads_filter($fm->input['message']);

и после неё вставляем:
CODE:
if (isset($fm->input['admin']) && $fm->user['id'] === 0 && $fm->exbb['anti_bot'] && ($fm->input['captcha'] == '' || !isset($_SESSION['captcha']) || $fm->input['captcha'] !== $_SESSION['captcha']))
{
$fm->_Message($fm->LANG['Registration'],$fm->LANG['CaptchaError']);
}
unset($_SESSION['captcha']);

это несколько изменённый предыдущий вариант.
Затем находим строку:
CODE:
$fm->_Mail($fm->exbb['boardname'],$fm->user['mail'],$user['mail'],$fm->input['subject'],$email);

и меняем её на:
CODE:
$fm->_Mail($fm->exbb['boardname'],
(!empty($fm->user['mail']))?$fm->user['mail']:'',$user['mail'],$fm->input['subject'],$email);

Вроде бы и всё. Я всё протестировал - письма отправляются. Никаких ошибок не появляется. Каптча для гостей выводится и проверяется(с фиксированной кнопки). Если ещё какой-либо косяк выявится, то пишите. Но вроде бы всё работает как часики. Может даже и у себя это оставлю))
18. Flat - 22 сентября 2018 — 09:44 - перейти к сообщению
Parapsixolog пишет:
А для гостей страница отправки e-mail вообще не открывается, пишет:

Насчёт этого: у меня такого не вылазило. Если что проверьте включена ли эта функция в админке. Странно почему не склеились эти мои 2 сообщения?
19. Parapsixolog - 22 сентября 2018 — 14:02 - перейти к сообщению
Flat , такой вот строки нет:

Flat пишет:
Затем находим строку:
CODE:
if($fm->exbb['anti_bot'] === TRUE && $fm->user['id'] === 0)



Есть только:

CODE:
if($fm->exbb['anti_bot'] === TRUE && $fm->user['id'] === 0 && $fm->input['admin']===1)


Эту строку оставил неизменной, вроде бы оправляется сообщение.


Flat пишет:
Parapsixolog пишет:
А для гостей страница отправки e-mail вообще не открывается, пишет:

Насчёт этого: у меня такого не вылазило. Если что проверьте включена ли эта функция в админке.


Естественно включена. Вошедшие же пользователи отправляют письма. И уведомления приходят.

Я почти разобрался в причинах не открытия окна. У меня стоит мод группа - http://exbb.info/community/topic...=54&topic=15 и для гостей отключена функция отправки почты.

Сейчас я включил, форма появилась (без каптчи), но при попытке отправить сообщение форум пишет:

Цитата:
Гости форума не могут отправлять письма


В файле tools.php за отправку этого сообщения отвечает строка:

CODE:
if ($fm->user['id'] === 0 && !isset($fm->input['admin'])) {
$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['GuestMail']);
}


Если её тупо удалить, то отправка происходит. Но в этом случае гости могут отправить e-mail любому участнику форума, а это не хотелось бы. И капчи почему то нет. Без неё ящик спамом завалят.


Flat пишет:
Странно почему не склеились эти мои 2 сообщения?


Потому что интервал склеивания менее 10 минут.
20. Flat - 23 сентября 2018 — 08:16 - перейти к сообщению
Parapsixolog пишет:
такой вот строки нет:

Есть такая строка в том варианте файла mailform.tpl, который я приводил выше, а не в"чистом" файле движка. Вот в том моём варианте эта строка есть. Её находим и меняем. Я предупреждал:
Flat пишет:
Меняем всё что там находится на мой вариант, который я приводил выше.

просто вы уже меняли в повторно изменённом файле вот и вышла неувязочка.
Так, чтобы больше не было разночтений приведу уже изменённый вариант этого файла:
CODE:
<?php
echo <<<DATA
<br>
<div id="navstrip" align="left">
<img src="./templates/InvisionExBB/im/nav.gif" border="0" alt="&gt;" />&nbsp;<a href="index.php">{$fm->exbb['boardname']}</a>&nbsp;&raquo;&nbsp;{$fm->LANG['MailByBoard']}
</div>
<br>
<form method="post" action="tools.php">
<input type="hidden" name="action" value="mail">
<input type="hidden" name="dosend" value="yes">
<input type="hidden" name="admin" value="1">
<input type="hidden" name="member" value="{$user_id}">
<table cellspacing="1" cellpadding="4" border="0" align="center" class="tableborder" width="70%">
<tr>
<td class="maintitle" colspan="2"><img src="./templates/InvisionExBB/im/nav_m.gif" border="0" alt="&gt;" width="8" height="8" />&nbsp;{$fm->LANG['SendMailTo']} {$user['name']}</td>
</tr>
<tr>
<td class="pformleft" align="right"><b>{$fm->LANG['Topic']}</b></td>
<td class="pformright"><input type="text" name="subject" size="45" maxlength="100" tabindex="2" value="" /></td>
</tr>
<tr>
<td class="pformleft" align="right" valign="top"><b>{$fm->LANG['EmailMessage']}</b></td>
<td class="pformright"><textarea name="message" rows="15" cols="35" wrap="virtual" style="width:450px" tabindex="3"></textarea></td>
</tr>
DATA;
if($fm->exbb['anti_bot'] === TRUE && $fm->user['id'] === 0 && isset($fm->input['admin']))
{
echo <<<DATA
<tr>
<td class="pformleft"><b>{$fm->LANG['CaptchaCode']}</b><br /><span class="desc">{$fm->LANG['CaptchaBroken']}</span></td>
<td class="pformright"><img src="regimage.php" border="0" alt="captcha"></td>
</tr>
<tr>
<td class="pformleft"><b>{$fm->LANG['CaptchaСonfirm']}</b><br /><span class="desc">{$fm->LANG['CaptchaNote']}</span></td>
<td class="pformright"><input type="text" style="width: 130px" name="captcha" size="13" maxlength="10"></td>
</tr>
DATA;
}
echo <<<DATA
<tr>
<td class="darkrow2" align="center" colspan="2"><input type="submit" value="{$fm->LANG['Send']}" name="submit" /></td>
</tr>
</table>
</form>
DATA;
?>

Также приведу полностью код функции отправки сообщений из tools.php:
CODE:
function mailtouser() {
global $fm;

if ($fm->exbb['emailfunctions'] !== TRUE) {
$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['MailFunctionClosed']);
}

if ($fm->user['id'] === 0 && !isset($fm->input['admin'])) {
$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['GuestMail']);
}

$users = $fm->_Read(FM_USERS);
if (($user_id = $fm->_Intval('member')) === 0 || !isset($users[$user_id])) {
$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['CorrectPost']);
}
unset($users);

$user = $fm->_Getmember($user_id);
if ($fm->_Boolean($fm->input, 'dosend') === TRUE) {
if (!defined('IS_ADMIN')) {
if (isset($_SESSION['lastposttime']) && ($_SESSION['lastposttime'] + $fm->exbb['flood_limit']) > $fm->_Nowtime) {
$fm->_Message($fm->LANG['MainMsg'],sprintf($fm->LANG['FloodLimitNew'],$fm->exbb['flood_limit']));
}
$_SESSION['lastposttime'] = $fm->_Nowtime;
}

if ($fm->_String('subject') === '' || $fm->_String('message') === '') {
$fm->_Message($fm->LANG['MailByBoard'],$fm->LANG['NoEmptyFields']);
}

$fm->input['subject'] = $fm->bads_filter(substr($fm->input['subject'],0,255));
$fm->input['message'] = $fm->bads_filter($fm->input['message']);

if (isset($fm->input['admin']) && $fm->user['id'] === 0 && $fm->exbb['anti_bot'] && ($fm->input['captcha'] == '' || !isset($_SESSION['captcha']) || $fm->input['captcha'] !== $_SESSION['captcha']))
{
$fm->_Message($fm->LANG['Registration'],$fm->LANG['CaptchaError']);
}
unset($_SESSION['captcha']);

$email = sprintf($fm->LANG['EmailByBordText'],
$user['name'],
$fm->user['name'],
$fm->exbb['boardname'],
$fm->exbb['boardurl']).$fm->input['message'];
$fm->_Mail($fm->exbb['boardname'],
(!empty($fm->user['mail']))?$fm->user['mail']:'',$user['mail'],$fm->input['subject'],$email);
$fm->_Message($fm->LANG['MailByBoard'],$fm->LANG['SendMailOk'],'index.php');
} else {
$fm->_Title = ' :: '.$fm->LANG['MailByBoard'];
include('./templates/'.DEF_SKIN.'/all_header.tpl');
include('./templates/'.DEF_SKIN.'/logos.tpl');
include('./templates/'.DEF_SKIN.'/mailform.tpl');
include('./templates/'.DEF_SKIN.'/footer.tpl');
}
}

Parapsixolog пишет:
Сейчас я включил, форма появилась (без каптчи)

Интересненько.. У меня каптча появляется и всё работает. Никаких предупреждений нет. Посмотрите-ка есть ли у вас файл regimage.php?
Всё ли вы сделали по инструкции? Ещё раз проверьте все шаги.
Может тот ваш мод вносит какие-то новые зависимости? Попробуйте поставить чистый exbb fm 1.0 rc1 и ввести изменения предложенные мной, должно всё работать.
21. Parapsixolog - 23 сентября 2018 — 12:55 - перейти к сообщению
Flat пишет:
Parapsixolog пишет:
такой вот строки нет:

Есть такая строка в том варианте файла mailform.tpl, который я приводил выше, а не в"чистом" файле движка. Вот в том моём варианте эта строка есть. Её находим и меняем. Я предупреждал:
Flat пишет:
Меняем всё что там находится на мой вариант, который я приводил выше.

просто вы уже меняли в повторно изменённом файле вот и вышла неувязочка.


Flat, я всё делал по вашей инструкции. То есть сперва взял файл mailform.tpl http://exbb.info/community/topic...90855#1537290855

Затем опять по вашим инструкциям заменил некоторые строки mailform.tpl http://exbb.info/community/topic...18735#1537518735

Я же не знал, что нужно взять первоначальный вариант, без последней правки. Теперь то всё понятно.


Flat пишет:
Интересненько.. У меня каптча появляется и всё работает. Никаких предупреждений нет. Посмотрите-ка есть ли у вас файл regimage.php?
Всё ли вы сделали по инструкции? Ещё раз проверьте все шаги.


Всё сделано по инструкции, это всё семечки. Я такие сложные моды устанавливал, что такие правки делаю с пол пинка.

Файл regimage.php есть конечно. Каптча прекрасно сейчас работает при регистрации.

Flat пишет:
Может тот ваш мод вносит какие-то новые зависимости? Попробуйте поставить чистый exbb fm 1.0 rc1 и ввести изменения предложенные мной, должно всё работать.


Всё может быть. Кроме него у меня куча и других модов. Устанавливать предложенные вами изменения на чистый exbb fm 1.0 rc1 не вижу смысла. Даже если всё заработает как надо, мне то от этого легче не станет, от этого работать именно на моём движке не будет.
22. Flat - 24 сентября 2018 — 09:58 - перейти к сообщению
Parapsixolog пишет:
Даже если всё заработает как надо, мне то от этого легче не станет, от этого работать именно на моём движке не будет.

А у вас какая версия форума стоит?
23. Parapsixolog - 24 сентября 2018 — 13:53 - перейти к сообщению
Flat пишет:
А у вас какая версия форума стоит?


Изначально делалось на ExBB FM 1.0 RC1.01 Но сейчас форум ближе всего к ExBB FM 1.0 Final

Я грешу на 2мода, мод Группы, и мод Расширенные почтовые функции, вот они могли создать проблему с отправкой писем из под гостя.
24. Flat - 26 сентября 2018 — 09:15 - перейти к сообщению
Parapsixolog пишет:
Я грешу на 2мода, мод Группы, и мод Расширенные почтовые функции, вот они могли создать проблему с отправкой писем из под гостя.

Бегло просмотрел. Там долго надо разбираться. Плохо то, что все эти моды жёстко прописываются в системе, и в результате получается совсем другой движок.. Одним словом отсутствует определённый стандарт, и у всех разные движки. Моды часто меняют само ядро форума, а это плохо..
25. Parapsixolog - 28 сентября 2018 — 00:58 - перейти к сообщению
Flat , я сейчас ещё раз сделал правки, и покрутил настройки в гостях мода группа. И вроде бы заработало это дополнение! Теперь нужно испытать в полевых условиях.

Спасибо Flat за помощь! На мой взгляд весьма нужное дополнение к любому сайту. Осталось мелочи, найти красивую кнопку "Напишите нам". Стандартная кнопка не пойдёт.

Прикрепляю кнопку посимпатичнее. Если у кого есть другие варианты, то делитесь...
26. Flat - 28 сентября 2018 — 02:14 - перейти к сообщению
Parapsixolog пишет:
я сейчас ещё раз сделал правки, и покрутил настройки в гостях мода группа. И вроде бы заработало это дополнение!

Очень за вас рад!
Parapsixolog пишет:
На мой взгляд весьма нужное дополнение к любому сайту.

Да, нужное. Я кстати так и оставил это у себя, пусть будет.
Parapsixolog пишет:
Стандартная кнопка не пойдёт.

Естественно. Вот тут есть из чего выбрать: https://yandex.ru/images/search?...2&source=wiz
Можно, конечно, свой дизайн сделать в какой-нибудь программе-редакторе графики, например в paint Net, но это требует усилий и времени.
27. Parapsixolog - 28 сентября 2018 — 13:56 - перейти к сообщению
Flat пишет:
Очень за вас рад!


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

Я стал грешить на какие то моды, включил-отключил мод Расширенные почтовые функции, не помогло. И после этого стал вспоминать, и не могу вспомнить, работала ли у меня функция "Написать письмо через форум". Похоже я вообще эту функцию ни разу не проверял.

Затем я написал сам себе письма через http://exbb.info/community Опять не приходят письма.

Вот тебе и бабушка новый год! Оказывается эта функция давным давно уже не работает на форуме exbb и все усилия напрасны.

Кстати Flat , вы сами проверяли, письма доходят у вас, или нет?
28. Flat - 29 сентября 2018 — 12:03 - перейти к сообщению
Parapsixolog пишет:
Кстати Flat , вы сами проверяли, письма доходят у вас, или нет?

хотел проверить на хостинге скопировав туда папку с форумом, но filezilla что-то не качает файлы: 6 файлов закачивает, а потом тормозит, выходит из лимита сервера. Буду переустанавливать. Что-то видимо случилось когда откатывал систему. Потом сообщу как всё происходит в реальных полевых условиях на чистом rc1.
29. Parapsixolog - 29 сентября 2018 — 13:06 - перейти к сообщению
Flat пишет:
Потом сообщу как всё происходит в реальных полевых условиях на чистом rc1.


Да, да, проверьте. Только сперва проверьте на чистом форуме, без ваших добавлений, что форма "Написать письмо через форум" работает вообще.
30. Flat - 29 сентября 2018 — 13:36 - перейти к сообщению
Parapsixolog пишет:
Только сперва проверьте на чистом форуме, без ваших добавлений,

Верно. Так и сделаю.

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0431]     [ ]