Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
tolik777

Рассылка на 4.1.17

Recommended Posts

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Edited by tolik777

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

 

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

Share this post


Link to post
Share on other sites
Где можно поменять время запуска задачи?
Таблица core_tasks
  • Upvote 1

Share this post


Link to post
Share on other sites
Поэтому вариантов больше нет.

 

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

 

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

 

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

Edited by Zero108
  • Upvote 1

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...