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);
Вроде бы и всё. Я всё протестировал - письма отправляются. Никаких ошибок не появляется. Каптча для гостей выводится и проверяется(с фиксированной кнопки). Если ещё какой-либо косяк выявится, то пишите. Но вроде бы всё работает как часики. Может даже и у себя это оставлю))