Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Рассылка на 4.1.17

Опубликовано:

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

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

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

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

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

Опубликовано:

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

Опубликовано:
  • Автор

Мне по 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 дня)

Опубликовано:
  • Автор

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
Опубликовано:
Поэтому вариантов больше нет.

 

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

 

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

 

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

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

Опубликовано:
  • Автор

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

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

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

Сейчас на странице 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.