Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
tolik777

Рассылка на 4.1.17

Рекомендованные сообщения

Решил организовать рассылку на 4.1.х. Кол-во получателей у меня около 70 тыс. Создал письмо, запустил, через 20 секунд получил ошибку 402. Полез копать, оказалось, что разрабы в новой версии расылку тупо сделали из под скрипта в браузере. Естественно при таком кол-во получателей она будет вываливаться по таймауту. А у нас на сайте конкурс проводится, и его анонс есть обязательство перед рекламодателями.

Странно, что IPB так кастрировали нормальный функционал рассылки который был в IPB < 4.0 (т.е. настройки кол-ва писем за минуту и т.д.).

На англояз. форуме вычитал про настройку define( 'BULK_MAILS_PER_CYCLE', 100 ); но я так понимаю от этого рассылка не переместится в задачи.

Подскажите пути выхода.

Поделиться сообщением


Ссылка на сообщение

У меня по смтп ошибка аналогичная. Если php ставлю, спокойно письмо 55000 юзеров за 1.5 часа рассылает.

Поделиться сообщением


Ссылка на сообщение
01/14/17 12:01 (изменено)

Мне по PHP придется тогда отключать все лимиты самого РНР и NGINX. Да и мускул вроде.

Боюсь тогда сервак не выдержит медленных клиентов и незакрытых соединений и упадет. Да и юзеров у меня 100к, получателей думаю 70-75к это получается за 2 часа столько писем... Да и вдруг что-то пойдет не так. потом опять все сначала. Итак первым пользователячм по 3 раза приходила одна и та же рассылка пока до меня не долшло в чем дела и что она каждый раз с нуля стартует

Блин чем разработчики думали когда кастрировали так рассылку вообще непонятно

Изменено пользователем tolik777

Поделиться сообщением


Ссылка на сообщение

Лезем под капот.

system/Email/Email.php

	/**
 * @brief	If sending a bulk email to more than MAX_EMAILS_PER_GO - does this
 *			class require waiting between cycles? For "standard" classes like
 *			PHP and SMTP, this will be TRUE - and will cause bulk mails to go
 *			to a class. For APIs like SparkPost, this can be FALSE
 */
const REQUIRES_TIME_BREAK = FALSE;

PHP and SMTP, this will be TRUE. А по факту FALSE.

Если используется PHP как метод отправки писем, то, если добавить в system/Email/Outgoing/Php.php const REQUIRES_TIME_BREAK = TRUE;, рассылка после нажатия на кнопку Proceed будет перемещена в задачи.

Только учтите, что при стандартных настройках (200 писем за раз и запуск задачи раз в 10 минут) Ваши 70к будут обработаны за 3500 минут (~ 2.5 дня)

  • Upvote 2

Поделиться сообщением


Ссылка на сообщение

2.5 дня меня устраивает более чем. И раньше у меня рассылка была не менее суток, зато всем приходила и через задачи.

Вчера попробовал сервис SparkPost с которым интегрирован IPB - на mail.ru письма с данного сервиса режектяться и не доходят, хотя прописал все что можно было и DMARK и SPF и т.д. Поэтому вариантов больше нет.

Поделиться сообщением


Ссылка на сообщение

Запустил рассылку. Попала в задачи.

в system/Email/Outgoing/Php.php const REQUIRES_TIME_BREAK = TRUE;,

Это не понадобилось и без этого работает.

 

Вопрос такой - задача BulkMail запускается раз в 10 минут. Крон у меня каждые 2 минуты выполняется. Где можно поменять время запуска задачи? Хочу поставить раз в 4-5 минут

Поделиться сообщением


Ссылка на сообщение
Где можно поменять время запуска задачи?
Таблица core_tasks
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
01/18/17 12:15 (изменено)
Поэтому вариантов больше нет.

 

Потому что при таком количестве юзеров (100000) у вас много невалида среди адресов. Резать на бесплатных почтовых сервисах (mail.ru и т.п.) начинает после определенного порога пришедшего невалида. И еще хостеру вашему отправляется автоматическая абуза.

 

Вот тут надо заказать недорого и разослать, коль скоро у вас платная рассылка. Сначала проверяете выделенный вам IP адрес по спам-базам. Если адрес в спам-базах, то просите заменить. Они меняют. Потом делаете валидацию мыл (есть у них такой сервис, недорого), отсеиваете невалид. Потом делаете рассылку по smtp через их сервер. Можно использовать любое приложение для рассылки, например, EPochta Mailer. Если в адресах много бесплатных сервисов, типа mail.ru, то стоит в программе рассылки выставить лимит: не более 60 писем в минуту на один домен, а также делать письма уникальными путем добавления уникальных строк в текст и заголовок письма, что позволяет делать упомянутая программа по рассылке, а также рассылать в один поток.

 

PS SparkPost пробовал - быстро банят при большом количестве невалида, либо если 10-20 пользователей нажало в браузере кнопку спам.

Изменено пользователем Zero108
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Уже разослал через внутренний PHP... Получилось 75 тыс. получателей

На следующие рассылки уже тоже задумался над каким-либо подобным сервисом рассылок

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...