У меня многопользовательский сайт. Некоторые из моих клиентов рассылают по 1 электронному письму тут и там, другие могут отправлять 1000 одновременно.
Я использую SendGrid.com в качестве почтового сервера и SwiftMailer.org для моего кода PHP.
Проблема в том, что отправка каждого письма занимает около секунды. Я предполагаю, что ему нужно подключиться к SendGrid.com для аутентификации и т. Д. Таким образом, если вы отправляете 1000 электронных писем, это, по сути, займет около 1000 секунд, чтобы истечь время.
Я думаю, что лучший способ - хранить электронные письма в базе данных, а затем задание cron отправляет их.
Будет ли это самым эффективным способом? И должен ли я отправлять только определенное количество писем за раз? Так, например, 100 за задание cron?
Пока я говорю о заданиях cron, могут ли задания cron пересекаться? Итак, если бы я запускал задание cron каждую минуту, а странице потребовалось 2 минуты, чтобы отправить все электронные письма, задание cron снова запустится через минуту или будет ждать 2 минуты, пока не будет обработано последнее задание cron?
Спасибо за вашу помощь!
Бен