yura3d |
Отправлено: 24 марта 2012 — 11:29
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
Функциональность.
Данная разработка позволяет существенно оптимизировать процесс отправки писем e-mail с форума. Все сообщения, отправленные с форума, помещаются в специальный буфер (очередь), и затем отправляются своим адресатам группами (пачками) ограниченным кол-вом за определённый промежуток времени. Это позволяет решить сразу 3 проблемы, имеющиеся в текущем механизме отправки почты ExBB:- Перегрузка сервера при отправке большого числа сообщений.
Чаще всего данная проблема наблюдается при осуществлении массовой рассылки почты из админки, а также при рассылке уведомлений о новых сообщениях/темах по подпискам на темы/разделы. - Блокировка отправки e-mail со стороны хостера.
Большинство хостеров имеют дополнительные условия по отправке e-mail с сайта. Например, не более 1000 писем в час. Текущий механизм отправки почты это не учитывает, в результате чего львиная доля писем с форума может быть не доставлена адресатам, поскольку после превышения лимита хостер имеет право заблокировать доступ к своему SMTP-серверу. - Бан SMTP-сервера хостера на почтовых серверах за рассылки и спам.
Многие (и почти все бесплатные) почтовые сервисы имеют свои ограничения на число писем, принимаемых с одного SMTP-сервера в единицу времени. В результате бесконтрольной отправки огромных пачек писем, SMTP-сервер хостера может быть добавлен в чёрный список, что сделает невозможным дальнейший приём писем с форума. Любая из этих проблем в отдельности снижает вероятность доставки писем адресатам, а все вместе они делают доставку практически невозможной (например, на форуме в 1000 пользователей последние полтысячи по списку никогда не получат сообщение массовой рассылки).
Помимо группировки писем для отправки их пачкой за единицу времени, данный механизм умеет равномерно распределять нагрузку на сервер между пользователями (процессами), обращающимися к нему, что значительно снижает пиковую нагрузку на сервер и время генерации страниц (актуально, если запуск отправки осуществляется не через Cron).
Данный механизм отправки почты также поддерживает приоритет писем. Это означает, что сообщения об активации учётных записей пользователей, о восстановлении пароля (к примеру) всегда будут находиться ближе к окончанию очереди (причём независимо от времени их отправки), чем уведомления по подписках на темы/форумы или массовая рассылка.
Решена проблема с кодировкой заголовков писем. Теперь проблемные заголовки передаются бинарно с указанием кодировки, что предотвращает возможные ошибки определения кодировки почтовыми программой или сервером. Таким образом, теперь в графе отправителя Вы будете видеть именно Форум о рыбалке (например), а не тНПСЛ Н ПШАЮКЙЕ.
Установка, настройка, эксплуатация и техническая поддержка.
См. инструкцию (прикреплённый файл)
Лицензия: GNU GPL v2+.
Благодарности.
Автор мода выражает огромную благодароность nikk, CAB и другим пользователям проекта, участвовавшим в спонсировании разработки данного мода. Благодаря этим людям проект ExBB развивается дальше!
|
|
|
alexx |
Отправлено: 24 марта 2012 — 14:09
|
Advanced Member
Покинул форум
Сообщений всего: 495
Дата рег-ции: Февр. 2010
Откуда: Россия
Репутация: 12
|
Цитата:Откройте файл setforums.php, найдите строку:
CODE:} elseif ($fm->input['action'] == 'module') {
И под ней разместите строки:
CODE:$mailer_yes = ($fm->exbb['mailer']) ? 'checked="checked"' : '';
$mailer_no = (!$fm->exbb['mailer']) ? 'checked="checked"' : '';
У меня нет такой строки: CODE:} elseif ($fm->input['action'] == 'module') {
yura3d, подскажите что делать в таком случае.
Заранее спасибо.
Файл прилагаю.
зы. вот все по запросу } elseif ($fm->input['action']
CODE:Search "} elseif ($fm->input['action'] " (14 hits in 1 files)
C:\Users\alex\Desktop\Новая папка\setforums.php (14 hits)
Line 59: } elseif ($fm->input['action'] == "doaddcat" || $fm->input['action'] == "doaddforum") {
Line 152: } elseif ($fm->input['action'] == "edit") {
Line 198: } elseif ($fm->input['action'] == "doedit") {
Line 242: } elseif ($fm->input['action'] == "editcatname") {
Line 271: } elseif ($fm->input['action'] == "delcat" || $fm->input['action'] == "delete" || $fm->input['action'] == "moveforum") {
Line 311: } elseif ($fm->input['action'] == "dodelcat") {
Line 344: } elseif ($fm->input['action'] == "dodelforum") {
Line 382: } elseif ($fm->input['action'] == "domoveforum") {
Line 409: } elseif ($fm->input['action'] == "stat") {
Line 428: } elseif ($fm->input['action'] == "recount") {
Line 503: } elseif ($fm->input['action'] == "restore") {
Line 571: } elseif ($fm->input['action'] == "catorder") {
Line 604: } elseif ($fm->input['action'] == "forumorder") {
Line 649: } elseif ($fm->input['action'] == "searchindex") {
|
|
|
|