![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
TheAviator |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 28.9.2003 Где: Николаев-Киев Репутация: нет Всего: нет |
Сабж.
Отправляю на список из 400 адресатов письмо в вложением. Использую в цикле функцию mail() Проблемы: при таком количестве адресатов отправка очень долгая. (при малом работает) Какое есть решение на этот счет. пока что есть идея в адрес писать не по одному email, а по не сколько - ускорит ли это работу? И есть ли еще варианты? Спасибо. |
|||
|
||||
Bikutoru |
|
|||
Увлекающийся ![]() ![]() Профиль Группа: Участник Сообщений: 522 Регистрация: 24.5.2005 Где: Москва Репутация: нет Всего: 22 |
Добавляешь в заголовки письма
Эта строка означает "отправить на эти адреса скрытую копию письма", адресаты не будут знать друг о друге. Сколько dсего адресов можно написать не знаю, предлагаю поэкпериментировать и выложить результат здесь ![]() Добавлено @ 14:52 Проблема заключается в том, что нужно указать какой-то e-mail первым аргументом функции mail и этот e-mail увидят все получатели... Если же его не указать, то могут возникнуть баги с доставкой писем. (Я как-то по глупости при сходной проблеме, указал свой рабочий e-mail, теберь борюсь со спамом ![]() -------------------- Человек, словно в зеркале мир — многолик, Он ничтожен — и он же безмерно велик! Омар Хайям |
|||
|
||||
TheAviator |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 28.9.2003 Где: Николаев-Киев Репутация: нет Всего: нет |
Ну в обычную адресную строку 400 адресов работает и отсылает быстро.
Но насчет BCC вопрос такой : Прижелании ведь пользователь может просмотреть чвесь список рассылки или он ему не передается вообще (т.е. его не извлечь фактически никаким методом)? Это важно, т.к. список рассылки нельзя раскрывать по комммерческим соображениям. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Выход такой. Пишем все адреса в файл.
В Крон записываем файл, который выполняется раз сутки, или раз в час. Он читает это файл и отправляет письма. Отправил - стер адрес из файла. Есть вариант посложнее, скрипт тоже из под крона отсылает, нро делает это по 5 писем за раз. Скрипт выполняется раз в 5-6 минут. Это снизит нагрузку немного на сервер. |
|||
|
||||
Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: нет Всего: 6 |
если позволяют настройки сервера - используй пхп функцию set_time_limit()
Описание void set_time_limit (int seconds) Устанавливает время в секундах, в течение которого скрипт может работать. Если это значение достигнуто, скрипт возвращает фатальную ошибку. По умолчанию лимит - 30 секунд или, если оно существует, значение max_execution_time, определённое в файле конфигурации. Если seconds имеет значение 0, лимита нет. При вызове set_time_limit() рестартует счётчик таймаута с нуля. Иначе говоря, если таймаут по умолчанию 30 секунд, прошло 25 секунд выполнения скрипта и сделан такой вызов set_time_limit(20), скрипт будет работать 45 перед таймаутом. set_time_limit() не действует, если PHP запущен в режиме safe mode. Нет иного выхода, кроме отключения safe mode или изменения лимита времени в файле конфигурации. -------------------- |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Это плохой, вариант... Грузит сервер и задержка будет.
|
|||
|
||||
TheAviator |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 28.9.2003 Где: Николаев-Киев Репутация: нет Всего: нет |
Хм. проверил в BCC 600 писем загонять. в разные места вставлял 2 свои Email-а.
Отправляет вместе с вложением без особой задержки. оба емэйла письма успешно принимали. НО.... Содержимое bcс могут вскрыть или нет? |
|||
|
||||
RaZoR |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 6.5.2004 Где: Оренбург Репутация: нет Всего: 1 |
нет. http://www.antispam.ru/4user/reading-email...anslation.shtml:
если поле КОМУ (To: ) не содержит мой e-mail, то письмо удалять. так что лучше отсылать каждому адресату отдельно используя cron или сделать перезапуск скрипта через <meta> с меняющимся параметром. |
||||
|
|||||
TheAviator |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 28.9.2003 Где: Николаев-Киев Репутация: нет Всего: нет |
хм. Ну то что почтовые клиенты строку bcc не показывают - это понятно. А если просмотреть содержимое заголовков просто, то там ведь и bcc есть? Значит враги могут заполучить мой список рассылки? |
||||
|
|||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
||||
|
||||
TheAviator |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 28.9.2003 Где: Николаев-Киев Репутация: нет Всего: нет |
Хм. Идея неплохая, но не совсем все понятно. Вариант 1: Скрипт должен в цикле отправлять поочереди функцией mail все адреса? А он не подвиснет 400 адресов лопатить? Вариант2: Если по 5 адресов раз в 5 минут, то последние дойдут с ооочень большой задержкой. пока что все варианты сделать рассылку завалились. (последнее что делал это в цикле отправлл по 5 bcc, итого около 100 проходов цикла. почту на мои адреса, который в самом конце списка находились отправила минут через 5, но сам веб-интерфейс повис и написал об превышении интервала минут через 10 - это плохо) |
|||
|
||||
RaZoR |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 6.5.2004 Где: Оренбург Репутация: нет Всего: 1 |
|
|||
|
||||
Mal Hack |
|
||||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Для этого можно делать разбивкуу и отправлять по 5 писем.
Можно и меньше делать щадержку... Я образно говорил.
В заголовках все равно остается. |
||||||
|
|||||||
TheAviator |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 28.9.2003 Где: Николаев-Киев Репутация: нет Всего: нет |
Вопросы возникли следующие:
1) >> Для этого можно делать разбивку и отправлять по 5 писем. у меня как раз сейчас отправляет по 5 писем.( правда без Cron - а чем сним будет лучше ?). Зависает в цикле отправлять сотню писем с вложением на 180кб. 2) Насколько малой можно сделать задержку (у меня есть веб-интерфес от Cpanel для упраления cron) и как? можно действительно сделать таблицу с почтой для отправки и лопатить пачкой по 5 bcc например раз в 5 секунд.. или так часто нельзя настроить чтоб крон отправлял? А можно ли не раз в определенное время, а чтобы вообще постоянно запуска - т.е. выполнил, снова запустил и т.д.? 3) неплохо бы было написать о каких-то резльтатах работы при отправке... опять же сложность. 4) каким образом форумы, например, могут отправлять письма огромному числу своих пользоватлей без использования cron ? Cron действительно необходимая в данном случае вещь... неужели нет ничего лучше и более простого? |
|||
|
||||
Bikutoru |
|
|||
Увлекающийся ![]() ![]() Профиль Группа: Участник Сообщений: 522 Регистрация: 24.5.2005 Где: Москва Репутация: нет Всего: 22 |
Вот заголовки (немного подредактированные) присланного мне письма, в котором точно было около 50 получателей
Как видите никакого Bcc там нет. Он же и называется "Скрытая копия", какая же она будет скрытая, если её может увидеть любой человек, "догадавшийся" посмотреть заголовки письма. -------------------- Человек, словно в зеркале мир — многолик, Он ничтожен — и он же безмерно велик! Омар Хайям |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |