Ограничение при рассылке почты

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
calipso
phpBB 1.0.0
Сообщения: 4
Стаж: 18 лет 6 месяцев

Ограничение при рассылке почты

Сообщение calipso »

Здравствуйте!

Не смог отправить рассылку группе пользователей форума. Выяснил у хостера: у него есть ограничение - не более 50 писем за раз. Очень не хочется дробить на группы по 50 человек, чтобы разослать сообщение. Может быть, кто-нибудь решал эту проблему?

P.S. Пробовал в Конфигурации задать SMTP сервер, тот же rambler, но при отправке возникает ошибка "Could not connect to smtp host : 13 : Permission denied".

Добавлено спустя 4 часа 38 минут 46 секунд:

Нашел выход из положения. Если кому интересно, могу поделиться опытом.
Аватара пользователя
/DiOs
Former team member
Сообщения: 1139
Стаж: 19 лет 2 месяца
Откуда: Ленинград

Сообщение /DiOs »

calipso
Ну, собственно, даже правилами как бы просится написать о решении проблемы...
И если я неправ, пусть старшие товарищи поправят меня
calipso
phpBB 1.0.0
Сообщения: 4
Стаж: 18 лет 6 месяцев

Сообщение calipso »

Возникла мысль: если хостер ограничивает количество писем, значит посылать нужно ему не весь список адресов, а порциями. Я немного знаком с SQL и знаю оператор "LIMIT", ограничивающий результирующую таблицу. LIMIT 0, 50 - первые 50 записей, LIMIT 50, 50 - вторые 50, и т.д. Зато я совершенно не знаю PHP. Стал искать строки, где формируется таблица адресов для массовой рассылки. Нашел таки. Это скрипт admin_mass_email.php, судя по названию, отвечающий за рассылку. В нем есть строка:

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

$sql = ( $group_id != -1 ) ? "SELECT u.user_email FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug WHERE ug.group_id = $group_id AND ug.user_pending <> " . TRUE . " AND u.user_id = ug.user_id" : "SELECT user_email FROM " . USERS_TABLE;
Добавил в нее LIMIT 0,50 после ud.user_id:

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

$sql = ( $group_id != -1 ) ? "SELECT u.user_email FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug WHERE ug.group_id = $group_id AND ug.user_pending <> " . TRUE . " AND u.user_id = ug.user_id LIMIT 0, 50" : "SELECT user_email FROM " . USERS_TABLE;
Закачал отредактированный скрипт на сайт, отправил рассылку первым 50 пользователям. Снова отредактировал скрипт, изменив на LIMIT 50, 50, снова закачал и отправил уже вторым 50 пользователям... и т.д.

Конечно, это только выход из положения, который меня вполне устроил. Зная PHP, наверно, можно организовать цикл, который бы выполнялся n-е число раз в зависимости от количества адресов. Но, увы, чего не знаю, того не знаю...
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 20 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

По описанию вам бы подошёл

[BETA] Megamail 0.9.6 (was 'Split MassMail in Chunks 0.9.2')
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 20 лет 9 месяцев
Откуда: Бердск

Сообщение crash »

calipso это не решение, это гемморой. следующая рассылка снова меняем скрипт, и так раз 10-20. Может проще разбить на группы и не париться.
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
calipso
phpBB 1.0.0
Сообщения: 4
Стаж: 18 лет 6 месяцев

Сообщение calipso »

Да нет, проще отредактировать. Хотя бы потому, чтобы создать эти 10-20 групп, нужно сначала составить списки пользователей каждой из этих групп.

Жалко не знаю php, а то бы добавил в диалог массовой рассылки числовое поле, значение которого меняло первую цифру в строке LIMIT 0, 50, на кратную 50 (50, 100, 150..). Думаю, что для знатоков php это задача на один зуб.
Змей
phpBB 1.2.1
Сообщения: 22
Стаж: 18 лет 4 месяца
Откуда: Москва

Сообщение Змей »

Думаю, именно то, что нужно Вам
http://www.phpbbguru.net/community/view ... hp?t=12283
HIV писал(а):МОД, который рассылает рассылку пачками (там по 100, по 200, и.т.д и делает после каждого числа паузу в 10 секунд или 20, всё это выставляется в панели администратора),
Coagulant двумя постами выше Вам его же советовал... тока версия постарше.
calipso
phpBB 1.0.0
Сообщения: 4
Стаж: 18 лет 6 месяцев

Сообщение calipso »

Спасибо за ссылку и вам и Coagulantу. Скачал, как будет время - обязательно посмотрю. Похоже, это, действительно, то, что нужно.

Проблемку я свою решил вышеуказанным способом. Мне не трудно и ручками (зато процесс под контролем). Рассылкой никогда не пользовался, вот приспичило. Теперь, может быть, через месяц-другой снова потребуется.

Всем спасибо за участие!
Аватара пользователя
/DiOs
Former team member
Сообщения: 1139
Стаж: 19 лет 2 месяца
Откуда: Ленинград

Сообщение /DiOs »

calipso писал(а):Теперь, может быть, через месяц-другой снова потребуется.
Не загадывайте. Подумайте о том, что будет, когда на сообщения об обновлении в какой-либо теме у вас подпишутся более 50 пользователей.
И если я неправ, пусть старшие товарищи поправят меня
Аватара пользователя
TheHawk
phpBB 1.4.4
Сообщения: 130
Стаж: 18 лет 2 месяца
Откуда: Беларусь, Гомель

Сообщение TheHawk »

Может кто занет как сделать так чтобы таким же образом как рассылка массовая почты, рассылались массово личные сообщения, причём разместить это нужно было в админке, а ещё лучше просто заменить строку рассылки почты на рассылку личек.
Изображение

Вернуться в «Поддержка phpBB 2.0.x»