tolik777 6 01/14/17 06:47 Решил организовать рассылку на 4.1.х. Кол-во получателей у меня около 70 тыс. Создал письмо, запустил, через 20 секунд получил ошибку 402. Полез копать, оказалось, что разрабы в новой версии расылку тупо сделали из под скрипта в браузере. Естественно при таком кол-во получателей она будет вываливаться по таймауту. А у нас на сайте конкурс проводится, и его анонс есть обязательство перед рекламодателями.Странно, что IPB так кастрировали нормальный функционал рассылки который был в IPB < 4.0 (т.е. настройки кол-ва писем за минуту и т.д.).На англояз. форуме вычитал про настройку define( 'BULK_MAILS_PER_CYCLE', 100 ); но я так понимаю от этого рассылка не переместится в задачи.Подскажите пути выхода. Поделиться сообщением Ссылка на сообщение
Атаман 463 01/14/17 10:30 У меня по смтп ошибка аналогичная. Если php ставлю, спокойно письмо 55000 юзеров за 1.5 часа рассылает. Поделиться сообщением Ссылка на сообщение
tolik777 6 01/14/17 12:01 (изменено) Мне по PHP придется тогда отключать все лимиты самого РНР и NGINX. Да и мускул вроде.Боюсь тогда сервак не выдержит медленных клиентов и незакрытых соединений и упадет. Да и юзеров у меня 100к, получателей думаю 70-75к это получается за 2 часа столько писем... Да и вдруг что-то пойдет не так. потом опять все сначала. Итак первым пользователячм по 3 раза приходила одна и та же рассылка пока до меня не долшло в чем дела и что она каждый раз с нуля стартуетБлин чем разработчики думали когда кастрировали так рассылку вообще непонятно Изменено 14 января 2017 пользователем tolik777 Поделиться сообщением Ссылка на сообщение
newbie 1723 01/16/17 05:56 Лезем под капот.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 дня) 2 Поделиться сообщением Ссылка на сообщение
tolik777 6 01/16/17 06:01 2.5 дня меня устраивает более чем. И раньше у меня рассылка была не менее суток, зато всем приходила и через задачи.Вчера попробовал сервис SparkPost с которым интегрирован IPB - на mail.ru письма с данного сервиса режектяться и не доходят, хотя прописал все что можно было и DMARK и SPF и т.д. Поэтому вариантов больше нет. Поделиться сообщением Ссылка на сообщение
tolik777 6 01/16/17 08:04 Запустил рассылку. Попала в задачи. в system/Email/Outgoing/Php.php const REQUIRES_TIME_BREAK = TRUE;,Это не понадобилось и без этого работает. Вопрос такой - задача BulkMail запускается раз в 10 минут. Крон у меня каждые 2 минуты выполняется. Где можно поменять время запуска задачи? Хочу поставить раз в 4-5 минут Поделиться сообщением Ссылка на сообщение
newbie 1723 01/16/17 08:19 Где можно поменять время запуска задачи?Таблица core_tasks 1 Поделиться сообщением Ссылка на сообщение
Zero108 124 01/18/17 12:15 (изменено) Поэтому вариантов больше нет. Потому что при таком количестве юзеров (100000) у вас много невалида среди адресов. Резать на бесплатных почтовых сервисах (mail.ru и т.п.) начинает после определенного порога пришедшего невалида. И еще хостеру вашему отправляется автоматическая абуза. Вот тут надо заказать недорого и разослать, коль скоро у вас платная рассылка. Сначала проверяете выделенный вам IP адрес по спам-базам. Если адрес в спам-базах, то просите заменить. Они меняют. Потом делаете валидацию мыл (есть у них такой сервис, недорого), отсеиваете невалид. Потом делаете рассылку по smtp через их сервер. Можно использовать любое приложение для рассылки, например, EPochta Mailer. Если в адресах много бесплатных сервисов, типа mail.ru, то стоит в программе рассылки выставить лимит: не более 60 писем в минуту на один домен, а также делать письма уникальными путем добавления уникальных строк в текст и заголовок письма, что позволяет делать упомянутая программа по рассылке, а также рассылать в один поток. PS SparkPost пробовал - быстро банят при большом количестве невалида, либо если 10-20 пользователей нажало в браузере кнопку спам. Изменено 18 января 2017 пользователем Zero108 1 Поделиться сообщением Ссылка на сообщение
tolik777 6 01/18/17 14:27 Уже разослал через внутренний PHP... Получилось 75 тыс. получателейНа следующие рассылки уже тоже задумался над каким-либо подобным сервисом рассылок Поделиться сообщением Ссылка на сообщение