Как лучше организовать выполнение фоновых задач на php?
используй rabbit, создавай задачу на отправку писем, добавляй её в rabbit и спи спокойно, всё буде тсделано даже если сервер уйдёт в этот момент на перезагрузку. + такие вещи как очередь задач неплохо горизонтально масштабировать если нагрузка будет расти.
Ajax... при клике показывать блок/текст "Все окей, смска ушла", скрываем форму (блокируем submit и т.д.) и обращаться к скрипту отправки, и не надо никаких очередей и ожиданий