Notice: Undefined index: name in /home/exbb/exbb.info/www/community/include/lib.php on line 293 Notice: Undefined index: name in /home/exbb/exbb.info/www/community/include/lib.php on line 293 ExBB Community :: Версия для печати :: Мод: Расширенные почтовые функции (Почтовая очередь) [4]
ExBB Community » Файловый ExBB » Модификации и дополнения » Мод: Расширенные почтовые функции (Почтовая очередь)

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

46. CAB - 25 июня 2013 — 20:49 - перейти к сообщению
CAB пишет:
Предупреждения об удалении модом так и не отправляются.
Мне кажется я нашёл решение.
1. Код выложенный мной в этих сообщениях http://exbb.info/community/topic...67451#1370467451 и http://exbb.info/community/topic...47514#1370547514 не использовать! Если уже его использовали - верните всё как было до этого.
2. В файле modules/mailer/Mailer.class.php функцию _toQueue заменяем на следующий код
CODE:
function _toQueue($args, $priority) {
global $fm;

$skip_mails = (file_exists(FM_SKIP_MAILS)) ? file(FM_SKIP_MAILS) : array();
if (count($skip_mails) !== 0) {
unset($skip_mails[0]);
$skip_mails = preg_replace("#(\r\n|\|$)#","",trim(implode("|",$skip_mails)));
} else {
$skip_mails = "@";
}

$users = $fm->_Read(FM_USERS);
if (is_array($args[2])) {
foreach ($args[2] as $user_id => $flag) {
if (isset($users[$user_id]['m']) && !preg_match("#(".$skip_mails.")$#is",$users[$user_id]['m'])) {
$args_temp[$user_id] = $users[$user_id]['m'];
}
}
$args[2] = array();
$args[2] = $args_temp;
} else if (!isset($args[2]) || preg_match("#(".$skip_mails.")$#is",$args[2])) {
return;
}

// Config start
$config = $this->getConfig();
$id = $config['id'] = isset($config['id']) ? $config['id'] : 1;

// List start
$list = $fm->_Read2Write($fpList, FM_MAILER_LIST_FILE);
$list[$id] = array($priority, true);
if (is_array($args[2])) {
$list[$id][2] = count($args[2]);
}

// Mail
$fm->_Read2Write($fpMail, sprintf(FM_MAILER_MAIL_FORMAT, $id));
$fm->_Write($fpMail, array($args[0], $args[1], $args[2], $args[3], $args[4]));

// List end
ksort($list);
uasort($list, create_function('$a, $b', 'if ($a[0] == $b[0]) return 0; return $a[0] < $b[0] ? -1 : 1;'));
$fm->_Write($fpList, $list);

// Config end
$config['id']++;
$this->saveConfig($config);

return true;
}

Как обычно прошу Юру проверить правильность написания и всех протестировать на своих форумах.
47. Parapsixolog - 10 июля 2013 — 10:21 - перейти к сообщению
Я вот смотрю и смотрю на этот мод, но так и не пойму зачем он нужен. А точнее, в каком случае есть потребность для его установки.

Решает ли этот мод неправильное отображение BB кодов в приходящих письмах к пользователю?

И я так же не понял доработку CAB, что она даёт, и как её вообще поставить. Нужно код _toQueue заменить на вышеприведённый код? И так несколько раз? Что то не так похоже я понял.
48. CAB - 10 июля 2013 — 20:33 - перейти к сообщению
Parapsixolog пишет:
Я вот смотрю и смотрю на этот мод, но так и не пойму зачем он нужен. А точнее, в каком случае есть потребность для его установки.
Этот мод нужен, если на хостинге есть ограничения на отправку писем. Как, например, здесь http://hosting.agava.ru/tp_normal.shtml
Агава пишет:
Максимальное число писем в час 300
Время между отправкой писем 0.3 c.


Parapsixolog пишет:
И я так же не понял доработку CAB, что она даёт
Две вещи:
1. Устраняет ошибку в моде (некоторые письма не отправлялись с форума, в частности уведомления об удалении);
2. Позволяет запрещать отправку всех писем с форума на конкретные почтовые адреса и почтовые домены с помощью файла data/skip_mails.php аналогично данному функционалу без мода.

Parapsixolog пишет:
как её вообще поставить. Нужно код _toQueue заменить на вышеприведённый код?
Да. Я привёл полностью код функции _toQueue в моей модификации.

Parapsixolog пишет:
И так несколько раз?
Чего несколько раз??
49. Parapsixolog - 11 июля 2013 — 04:40 - перейти к сообщению
CAB пишет:
Parapsixolog пишет:
И так несколько раз?
Чего несколько раз??


Я по моему понял. В файле modules/mailer/Mailer.class.php нужно код:

CODE:
function _toQueue($args, $priority) {
global $fm;

// Config start
$config = $this->getConfig();
$id = $config['id'] = isset($config['id']) ? $config['id'] : 1;

// List start
$list = $fm->_Read2Write($fpList, FM_MAILER_LIST_FILE);
$list[$id] = array($priority, true);
if (is_array($args[2])) {
$list[$id][2] = count($args[2]);
}

// Mail
$fm->_Read2Write($fpMail, sprintf(FM_MAILER_MAIL_FORMAT, $id));
$fm->_Write($fpMail, array($args[0], $args[1], $args[2], $args[3], $args[4]));

// List end
ksort($list);
uasort($list, create_function('$a, $b', 'if ($a[0] == $b[0]) return 0; return $a[0] < $b[0] ? -1 : 1;'));
$fm->_Write($fpList, $list);

// Config end
$config['id']++;
$this->saveConfig($config);

return true;
}


Заменить на ваш код. Правильно?
50. CAB - 11 июля 2013 — 11:58 - перейти к сообщению
Parapsixolog пишет:
Правильно?
Угу.
51. nikk - 8 августа 2013 — 21:49 - перейти к сообщению
CAB на твоем форуме на работает открытие тем! Я создал тему, а опубликовать не смог! Пишет: создайте текст", хотя я написал целое сообщение! Однако
52. CAB - 8 августа 2013 — 22:55 - перейти к сообщению
nikk пишет:
на твоем форуме на работает открытие тем! Я создал тему, а опубликовать не смог! Пишет: создайте текст", хотя я написал целое сообщение!
Увы, переход на PHP 5.4 идёт со скрипом. Разбираюсь...
53. Yamaliya - 19 июля 2014 — 15:25 - перейти к сообщению
Будьте добры, подскажите оптимальные настройки мода для форумов с посещаемостью 100, 500 и 1000 посетителей в сутки.
Заранее благодарна.
54. Yamaliya - 19 июля 2014 — 20:19 - перейти к сообщению
Чую шо я трохи поспешила с благодарностями Ха-ха
55. - 20 июля 2014 — 18:19 - перейти к сообщению
Однозначно трудно ответить, ведь все зависит и от ограничений, которые может налагать хостер (количество сообщений в сутки, скажем, или в час). Я при настройке мода выставляю такие параметры, чтобы укладываться именно в эти ограничения.
56. Yamaliya - 27 июля 2014 — 05:47 - перейти к сообщению
Ну хоть для примера дайте цифры. Вот так и скажите: у меня такая посещалка, я ставлю столько то и столько то.
57. - 27 июля 2014 — 10:16 - перейти к сообщению
Так не получится. Скажем, у хостера ограничение - 2000 сообщений в день, но не более 100 штук за раз. Значит, примерно 2000/24 = 82 в час. Значит, настройки будут какие-то такие:
Время накопления, например 15 минут (1/4 часа). Значит, за этот период 82/4 = не более 20 штук. Я бы поставил так:

"Количество e-mail для отправки за один период": 15
"Резервные места в периоде для первоочередных e-mail": 5
--------------
Итого 20 штук за 15 минут или 80 за час или 1920 за сутки, т.е. в ограничение влазим.

А вот параметр "Количество e-mail для отправки за один процесс" я ставлю примерно в 2 раза меньше, общего числа отправки сообщений за период, т.е. 10 штук. Как я понял - это кол-во писем, отсылаемых разово скриптом при его вызове. Т.о. 10 штук не превышает установленного ограничения в 100 штук за раз.

Первый момент. После настроек нужно в первые пару суток последить, чтобы в очереди не скапливались письма, особенно там, где есть большая посещаемость (300 человек в сутки и выше). Есть шанс, что при большом количестве отсылаемых писем, они не будут успевать отправляться. Тогда нужно говорить с хостером (увеличить кол-во писем в сутки/час) и менять настройки в бОльшую сторону.

Второй момент. У меня, например, этот мод пришлось отключить и вернуться к старыму методу рассылки (благо писем не много рассылается). Письмо накапливаются в очереди, отсылаются, никаких ошибок нигде не вылазит, но письма перестали доставляться. Просто тупо перестали доходить (возможно, какие-то настройки изменились на хостинге). Старый механизм при этом работает исправно.
(Добавление)
Большой период для накопления тоже не стОит делать, пользователь просто заждется письма Подмигивание

Я бы рекомендовал 5-15 минут.
58. Yamaliya - 27 июля 2014 — 10:29 - перейти к сообщению
Zeg , таких как вы побольше бы на этом форуме Улыбка Доброго человека за версту видно, или "рыбак рыбака видит издалека". Чётко, с толком, с расстановкой. Дай БОГ Вам и вашим близким добра и здоровья, а админам поучиться отвечать. А коммерсантам кроме аппетита, ещё иметь совесть ) Долго писать не буду, вдруг опять заблокируют.
59. Yamaliya - 27 июля 2014 — 11:37 - перейти к сообщению
Млин, забанили почти во всех разделах, поэтому пишу тут.

Хотела оплатить мод чата для всех желающих, мне запретили говорить в той теме, дважды набирала длинные сообщения о монетизации форума и ваще о будущеем, оба раза мои сообщения были заблокированы. При таком раскладе я более не горю желанием вкладываться ни в этот форум, ни в движок. Ответственность за эти события должны понести администраторы форума, которые долго и целеустремлённо пытаются сделать этот движок никому не нужным.
Кроме того, считаю допустимым с моей стороны убрать копирайты со своих "никому не нужных форумов" и распространить это сообщение в средствах информации.
Что бы не сесть в третьий раз в лужу, я подстелила соломки и сделала скриншоты этого сообщения.
60. nikk - 27 июля 2014 — 15:22 - перейти к сообщению
wasp , зря вы так... Тут народ добрый, а платные моды, ну что ж.. Халява всегда кончается, лично я всегда плачу за моды, оно даже удобнее, человек сам ставит мод, сам тестирует, исправляет все косяки, и я получаю готовый мод! Улыбка

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

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