Intereting Posts
Добавить ошибку в элемент формы Symfony 2 Подготовленное заявление MySQLI: num_rows & fetch_assoc Передача переменной FROM flash в HTML / php (PHP) Распространение содержимого массива равномерно по фиксированному числу столбцов PHP MySQL встраивается в метод GET Как укоротить строку, не нарезая слова, сохраняя в пределах лимита символов в PHP Как обнаружить диагональную победу в игре «5 в ряд» (PHP) Объединение нескольких PHP-скриптов в один файл таблицы сопоставления дампов php PHP Функция по умолчанию Значения параметров, как «передать значение по умолчанию» для «не последних» параметров? Изменяйте случайные строки в цвета, последовательно spl_autoload не вызывает вторую функцию автозагрузки Yii – проверка на стороне пользователя для элементов формы, загруженных ajax Задайте значение переменной в одной функции и используйте в других функциях при вызове непосредственно из ссылки в codeigniter Как сделать маршруты в Laravel без учета регистра?

Отправка электронной почты через почту PHP медленная

У меня есть большая доска с 1 миллионом + членов, и я испытываю большой лаг между отправкой писем каждому члену. При нынешнем курсе буквально мне понадобится 3 месяца для отправки писем всем 1 миллионам членов.

Моя машина (посвященная):

  • двойной квад-хеон
  • 32 концерта баранов
  • Centos 5.4
  • форума

Я попытался настроить его несколькими способами, и он все еще медленный.

Резолюция выполняется локально, поэтому я не думаю, что это проблема. Какие-либо предложения?


vBulletin показывает, что он отправляет электронные письма (500 за раз), поэтому я знаю, что сценарий не синхронизирован или проблема с памятью. Чтобы завершить страницу 500, она занимает 10 минут. Я использую функцию mail() PHP, которая является единственным другим вариантом, который у меня есть, кроме SMTP. С предыдущими серверами я не настраивал себя, это всегда было быстро. Теперь попробуйте его с sendmail (почтовая функция PHP), это так медленно.

Проверьте файл /etc/hosts .

Если у вас есть запись для вашего внешнего IP-адреса, который указывает на ваше локальное имя узла, например:

 75.23.123.21 my-server-hostname 

Измените его на:

 127.0.0.1 my-server-hostname 

Затем снова запустите функцию PHP mail() .

Я собираюсь сказать, если у вас есть 1 миллион подписчиков, которых вам нужно достичь, возможно, вам лучше не делать этого. Вместо этого, почему бы не использовать такую ​​услугу, как Mailchimp , основной задачей которой является доставка электронной почты.

Подумайте о преимуществах:

  1. Вы не беспокоитесь о пропускной способности, инфраструктуре и обслуживании.

  2. Вы получаете исчерпывающую аналитику о том, как работают ваши кампании по электронной почте, и о здоровье вашего списка – вы говорите, что у вас миллион электронных писем, но сколько из них отскакивает? Сколько из них открыто? какова открытая ставка для каждой страны ?, сколько отмечено как спам и т. д.?

  3. В зависимости от вашего бизнеса вы можете A / B тестировать свои кампании и оптимизировать чтение / клики / конверсии.

Вы, очевидно, будете платить дополнительно за эту услугу, которая отличается от ваших текущих расходов на хостинг, но с Mailchimp вы платите за то, что используете. Кроме того, если вы можете достичь миллиона человек, вы, вероятно, выяснили, как монетизировать его (если нет, вы действительно должны). Таким образом, использование стороннего сервиса может оплачивать сами.

Mailchimp – одна из многих услуг (я упоминаю об этом, потому что я использую ее и очень доволен ею). Возможно, вы захотите проверить SendGrid , Campaign Monitor и Aweber и взвесить свои плюсы и минусы.

Наверное, не ответ, которого вы ожидали, но это всего лишь мои 0,02 доллара.

PS: Mailchimp также предоставляет вам API, чтобы вы могли легко интегрировать приложение со своими службами.

Из руководства по PHP

Стоит отметить, что функция mail () не подходит для больших объемов электронной почты в цикле. Эта функция открывает и закрывает SMTP-сокет для каждого письма, что не очень эффективно.

Для отправки большого количества электронной почты см. Пакеты « PEAR :: Mail» и « PEAR :: Mail_Queue» .

Я далек от эксперта, но функция mail () использует намного больше CPU и памяти, чем обычные веб-функции, но у 1 миллиона пользователей уже есть значительная загрузка (CPU и IO) на вашем сервере. Это может повлиять на скорость отправки электронных писем, особенно если вы находитесь на более раннем Xeon.

Из того, что я знаю, двойные четырехъядерные Xeon относительно новы, и отправка этих электронных писем не должна заходить так близко, как есть.

Из того, что я прочитал, сервер с выделенным выделенным сервером с одним концом должен иметь возможность отправлять около 500-700 писем в минуту … но это система, предназначенная только для отправки электронных писем. На сервере среднего такта, как я подозреваю, у вас есть, я ожидаю, что он сможет отправлять электронные письма часами, а не месяцами.

Это может быть проблема конфигурации или нагрузки, которая может быть на разных уровнях.