Рассылка по электронной почте 50,000-100,000 подписчикам
-
13-09-2019 - |
Вопрос
Я хочу разработать приложение для рассылки списков рассылки, которое должно иметь возможность обрабатывать отправку сообщений на 50,000-100,000 подписчики за раз.
Может ли Swiftmailer's способ пакетной отправки справиться с этим?Я простак, когда дело доходит до электронной почты / SMTP / почтовых серверов--какие еще вещи мне нужно иметь в виду при разработке этого приложения?
Решение
За свою жизнь я написал одно или три почтовых приложения.На самом деле я вообще не могу комментировать swiftmailer, но некоторые вещи следует иметь в виду:
1) Списки такого масштаба являются длительными операциями.Настолько длительные, что на самом деле они вообще не должны обрабатываться веб-процессами, а скорее как своего рода пакетное задание.
2) Что-то когда-нибудь пойдет наперекосяк и прервет поток материалов для отправки.Это означает, что ваше почтовое приложение должно быть способно а) знать, что оно делает, и б) иметь возможность перезапустить себя в любой момент.
3) Связано с # 2 - есть много инструментов и ведения журнала для этого щенка.Вам нужно будет уметь выяснить, когда этот длительный пакетный процесс дал сбой и почему в какой-то момент.
Итак, по сути, главное, на чем нужно сосредоточиться, - это заставить работать биты пакетного задания.Какой именно механизм отправки электронной почты является почти второстепенной задачей.
Другие советы
Хотя обычно я большой поклонник Swiftmailer, я бы не обязательно рекомендовал его для таких больших списков.У меня есть сайт, который уже более года рассылает пользователям уведомления такого масштаба, используя PEAR Почта и Почтовая_ очередь без каких-либо проблем.
По сути, сообщения ставятся в очередь на доставку (хранятся в виде записей в базе данных MySQL), а затем в течение ночи периодически выполняется задание cron для отправки их управляемыми пакетами (с использованием php CLI).
(отвечая на 2-ю часть первоначального вопроса, с тех пор как переехал сюда) Что касается отслеживания:
- Я понятия не имею о рикошетах.
- Я считаю, что единственный способ отслеживать "открытия" - это включить файл изображения (в электронное письмо) с сервера, для которого вы затем можете отслеживать запросы.У меня нет опыта использования этого метода, но я слышал, что он ненадежен - к тому же, он поднимает этические вопросы...
- Вероятно, самый простой способ отслеживать клики - это запускать их через ваш собственный сервер перед перенаправлением на соответствующий URL.Опять же, этика...