Рассылка писем mail() Нагрузка

Тема в разделе "PHP", создана пользователем yeaahhh, 26 июл 2011.

Модераторы: latteo
  1. yeaahhh

    yeaahhh

    Регистр.:
    8 май 2008
    Сообщения:
    278
    Симпатии:
    11
    Ребят, делаю скрипт рассылки писем..
    В дальнейшем, планирую его поставить на крон.
    Подскажите, пожалуйста, как лучше реализовать с точки зрения минимума ресурсозатратности?

    Можно ли отправлять письма в цикле без всяких таймаутов и т.п.?
    Не положу ли я сервер, если функция mail() сработает 500-1000 раз за несколько секунд?

    P.S. Это мой первый скрипт массового воздействия на БД, поэтому ещё не чувствую грань "превышения нагрузки" на БД и оперативку(У меня хостинг).

    Заранее спасибо.
     
  2. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    733
    Симпатии:
    422
    Нагрузка пол беды, нужно копать в настройки хостинга... есть определенные лимиты в этом вопросе. У меня, например, до 100 писем в час. Если превышаю, то сначала предупреждают, а потом тупо блочат хост.

    Так что тут палка о двух концах! Ваш первый скрипт может негативно определить дальнешую судьбу, т.к. это чистой воды спам-рассылка))) А спам никто не любит, кроме спамеров ;)
     
    yeaahhh нравится это.
  3. satyra

    satyra Постоялец

    Регистр.:
    21 окт 2007
    Сообщения:
    73
    Симпатии:
    7
    Если тело писма не особо большое то думаю особо нагрузки сервер не почуствует, проблема может появиться в длительности выполнения скрипта.
    это зависит от настройки php.ini, но это в принципе можно обойти
    прописав в начале скрипта дерективу с бесконечным временем выполнения скрипта т.е. фактически пока не разошлются все письма по базе с e-mail.
     
  4. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    Есть вполне не плохие опен сорц решения этой проблемы,

    http://phpmailer.worxware.com/
    http://www.google.ru/search?q=PHPMailer

    Вообщем то класс довольно не плох, ну и используется много где, так что я думаю это стоит иметь ввиду.

    А по поводу хостинга, да бывает что скрипт нечаено привысит лимит по совсем безобидному поводу, а акк сразу блочат, хотя и времено
    А тут массовая рассылка, это конечно дело очень щекотливое, не каждый хостер позволит...
    ИМХО главное для вас выбрать "правильный" хостинг.
     
    suxfan нравится это.
  5. C0nstantin

    C0nstantin Постоялец

    Регистр.:
    25 май 2009
    Сообщения:
    54
    Симпатии:
    8
    Как правильно уже сказали, с рассылкой почты , главное на спам фильтр не нарваться, к примеру на ispserver за любую рассылку, даже по подписчикам, если они жаловались на спам, лочили весь хост и все
    ... все письма разом отправлять нельзя это точно если
    как бы я делал
    создаешь
    1.Сформировать в базе лист получателей если письма индивидуальные , то переменные тоже в эту базу засунуть можно
    2.Каждую минуту запускаешь скрипт который :
    выбирает из базы 50 записей в цикле делает рассылку и либо записывает результат либо тупо эти записи из таблички( см пункт 1 удаляет)

    так за час у тебя разойдется примерно 3000 писем , можно поэкспериментировать, с количеством отправляемых писем и посмотреть логи sendmail
     
  6. Gamma

    Gamma Писатель

    Заблокирован
    Регистр.:
    25 июл 2011
    Сообщения:
    2
    Симпатии:
    0
    Ну либо надо использовать абузоустойчивые хостинги.
     
  7. igramnet

    igramnet

    Регистр.:
    7 авг 2007
    Сообщения:
    281
    Симпатии:
    35
    К справке, использования абузоустойчивого хостинга обходится не так дорого, как судебные разберательства, однако, можно поступить проще и дешевле - купить хостинг в израеле... там им все пофигу)
    Я так свои рассылки делаю.
     
  8. thoth777

    thoth777

    Регистр.:
    28 ноя 2008
    Сообщения:
    314
    Симпатии:
    98
    Есть еще вариант: отправлять письма через чужие SMTP-серверы. Например, нарегать или купить готовые аккаунты, и каждое письмо рассылать через случайно выбранный аккаунт.
     
  9. OpS87

    OpS87

    Регистр.:
    9 авг 2011
    Сообщения:
    175
    Симпатии:
    15
    На крон не ставил, но просто скрипт массовой рассылки запускал. Вполне нормально, но идет большая нагрузка на сервер, так что лучше посоветоваться с хостером
     
  10. Dima Kos

    Dima Kos Постоялец

    Регистр.:
    1 апр 2010
    Сообщения:
    54
    Симпатии:
    6
    недавно рассуждали на эту тему со знакомыми. Пришли к выводу, что нужно ставить на крон выполнение задания каждые N минут. решает проблемы с нагрузкой на сервер и с блокировкой самого хостинга.