Я просто написал набор классов массовой рассылки для обработки огромного количества писем и анализа их содержимого в соответствии с переданными параметрами. Если я тестирую электронное письмо на 1000 случайных получателей и 1000 случайных отправителей из моей базы данных, до тех пор, пока сценарий не попадет в часть send () (я прокомментировал это сейчас), я получу производительность около 2 секунд и пиковую память 20 МБ. , и это здорово.
Однако, если я раскомментирую часть отправки, отправка займет 30 секунд. Это недопустимо, и хотелось бы как-то ускорить это. Из тестирования очевидно, что задержка вызвана не чем иным, как вызовом $ mail-> send (), как если бы он ждал, чтобы он что-то вернул, прежде чем продолжить цикл и отправить следующее электронное письмо.
Что я интересно: как мне ускорить вызов send ()? Что я могу сделать, чтобы это было быстрее? Я пробовал использовать два метода отправки:
Обратите внимание, что организация очередей - это определенно вариант, и я встроил его в свои классы. Все, что нужно, - это активировать cron, и он работает как шарм. Но меня интересует сама отправка и как ее ускорить. Итак, собственно вызов send ().