Как реализовать массовую рассылку на phpMailer чтобы не грузить сайт?
Есть форма в которой 18 полей, при её отправке данные заносятся в базу и начинается рассылка по клиентам из базы, их от 100-1000 человек будет, через php Mailer после нажатия кнопки он грузит сайт пока не закончится рассылка и приходится ждать минут 5 и больше.
Есть вариант чтобы после отправки формы пользователь продолжал лазить по сайту а рассылка начиналась где-то на сервере например?
Но есть проблема, нет возможности что-то покупать поэтому подойдут только бесплатные решения
можете развернуть laravel и прикрепить к нему эту форму. и использовать штатный механизм Laravel для отправки емейл сообщений используя очередь сообщений. и у вас сайт не будет перегружен. Все письма по очереди отправятся в фоновом режиме.
Дмитрий, в данном случае я бы не сказал, что это прям беда. Не придется самому велосипедить - всё уже будет работать из коробки, да и авось затянет laravel, сможет нарастить функционал, с той же базой данной поиграть.
pantsarny, никогда не понимал дилетантов, которые ляпнут что то без всякой аргументации...
Лично я уверен, что этот парень не сможет реализовать такой гибкий механизм очередей как это реализовано в laravel самостоятельно. А для решения его задачи гораздо более быстрым решением будет все сделать на ларавеле или люмен.
Слава, да что там реализовывать то? таблица с задачами и исполнитель? для этого нужен целый фреймворк? чтобы использовать одну из его возможностей? так проще уже просто взять готовые очереди, с того же ларавеля, чем тащить весь фреймворк.
Слава, такой гибкий механизм и не нужен как в ларавеле
надо вынести очередь в постоянное хранилише, а код рассылки пхпмайлером вынести в отдельный пхп файл который будет работать сервисом ну или кроном
на крайний случай можно вызывать пхп скрипт рассылки через exec и не ждать его испольнения в веб потоке
но тянуть ларавель ради таки мизерной задачи... лендосы наверное тоже на ларавеле делаете
Слава, ну если советуете ларавель, то почему его? какие аргументы для решения этой задачи? почему не симфони? или другой любой фреймворк? почему не cms которая тоже будет обладать такой функцией?
pantsarny, laravel самый популярный фреймворк. по нему намного больше материала чем по другим и богатое компьюнити. CMS работает медленнее. Больше запросов к базе данных. Симфони сложен для челвека, который ни разу не видел фреймворки. Yii2 - древнее как г--но мамонта... Ларавел самое оптимальное. И если задание выполнится с ошибкой, то отправится повторно. Как бы вы не говорили, а в ларавеле все реализовано намного лучше чем если самому писать с нуля. И нет никакой проблемы в том чтобы установить фреймворк - это делается одной командой. и занимает мало место. Это же не битрикс разворачивать. А выдергивать из ларавела отдельную подсистему для управления очередями и отправки сообщений дольше и сложнее чем просто установить готовый фреймворк. так что вы проиграли по всем фронтам поскольку неоптыный вы человек. а то что вы на одно сообщение написали три лишь говорит что вы как женщина...
Слава, у тебя ларавель головного мозга
Если ты без него не можешь решить банальную задачу - то твой уровень как специалиста низкий
узнай у автора, будет ли он идти твоим советом. я думаю ему нафиг не надо ставить композер, изучать документацию ларавеля, чтобы решить свою задачу - отправки очереди в фоне. не советуй чуши, научись применять инструменты по назначению
pantsarny, так ты оказывается yii2 изучал. ну тогда с тобой вообще не о чем говорить.. Комплесы свои пытаешься зарывать в глубине сознания занимаясь самообманом. На самом деле признал бы лучше что Laravel это лучшее что только можно было придумать в php фреймворках, а про симфни - да никто его с наскоку не сможет осилить просто так не имея опыта работы с фреймворками как автор. Только скорее отобьется все желание соваться туда.
pantsarny, а где ты будешь хранить успешно информацию об успешнодоставленных отправлениях и о количестве предпринятых попыток? Как будешь определять отправляли ли данную рассылку вы получателю или нет? где вообще будешь хранить рассылки?
Слава, необходимо снизить накал негатива и прекратить склочничать. Пищите строго по делу, не переходя на личности, даже если вы видите к тому основания. П.5.1 Регламента запрещает это.