Как делаются персональные (конкретно по твоим критериям) рассылки?
Всем привет! Многие из нас сталкивались с таким явлением как рассылки, когда мы что-то приобретаем в магазах или регаемся на каком-либо крупном ресурсе. Даже самый сомнительный интернет-магазин, когда ты купил там какую-либо безделушку, через некоторое время начинает слать тебе списки товаров на основании того, что ты уже купил. Да тот же Хабр или Тостер взять. Хабр присылает только статьи из хабов, на которые я подписан, Тостер - только вопросы по тегам, на которые ты подписан. Интересует чисто практическая сторона вопроса. Например, рассылка осуществляется раз в неделю для всех адресатов. Имеется например миллион юзеров, и это только тех, кто подписан на эту рассылку. Скорее всего запускается какой-то скрипт, который обходит всех этих подписанных юзеров в БД, смотрит какие критерии у каждого, и уже для каждого юзера по отдельности формирует письмо согласно критериям для данного юзера. Можно банально запускать скрипт кроном, который будет слать эти письма phpmailer'ом, однако он шлет каждое письмо пару секунд, при таком количестве писем он будет слать их вечно, уже неделя подойдет для новой порции рассылок, а он еще старые не отослал))) А если предварительно закидывать все в БД и потихоньку слать, дак он тем более не успеет до следующей рассылки все отослать таким макаром. В интернетах смотрел, предлагаются только настройки шаблонов для известных почтовых клиентов для домохозяек, или всякие сомнительные спамилки, однако мне нужны не спамилки, а именно легальные рассылки типа как на Хабре. Ну а все эти платные рассылочные сервисы типа SmartSender тоже позволяют только шаблоны персонально настроить и слать всем одну байду. В общем, вот)
Не совсем ясно что Вы в итоге хотите получить. Текста много, вопросов мало :) ПХП-мейлером разослать много писем будет получаться довольно непродолжительное время, т.к. быстренько прилетит бан от большинства почтовых сервисов, в 95% случаев. Рассылать обычно нужно либо через проверенные сервисы рассылок, либо как минимум свой полноценный почтовый сервер поднимать, на "чистом" IP и готовить рассылку по всем правилам, с которыми Вы можете ознакомиться в справочной информации почтовых сервисов (или запросив информацию у их поддержки).
Евгений Вольф: да я понимаю, как-то короче не получилось объяснить, извиняюсь) Как раз и привел в пример Хабр или Тостер. Как они и им подобные сервисы осуществляют такие рассылки, как они мгновенно проходят по всем своим юзерам, и шлют письма только со статьями, например, из хабов, на которые они подписаны?
Антон Тихомиров: "Как они делают рассылки по статьям?"... Ну они используют свои сервера и несколько другие возможности (в плане ресурсов), это первый момент. Второй момент, я думаю вопрос "1 письмо в 2 секунды" - не из-за нагрузки на процессор, а из-за сетевой составляющей процесса, что бы это исправить, как мне кажется достаточно будет "распараллелить" процесс, т.е. запустить его в несколько потоков. А ещё тут где-то писали про какие-то "задания" или "очереди" для рассылки электронной почты... Хотя, я думаю, в Вашем случае, обычно многопоточное приложение решит большую часть проблем.
P.S. Вопрос создания многопоточных приложения, синхронизации потоков, формирования список из БД и пр. сопутствующие моменты, как Вы понимаете, несколько выходит за рамки изначального вопроса :)
*я не могу точно сказать, решит ли моё предположение проблему на 100% или нет... но, попробовать мне кажется стоит
Евгений Вольф: о, конечно, программно - это уже в рамках самого ресурса надо осуществлять. Я просто подразумевал ответ из разряда "Ну у них в БД прописаны ID хабов, на которые подписан каждый из юзеров, скрипт в цикле по каждому юзеру выбирает из хабов по их ID статьи, которые получили больше всего просмотров, и шлет их каждому юзеру". Казалось бы, все просто, только вот меня и смущает момент если юзеров под миллион, неужели скрипт по крону может запросто отослать кучу писем? Вот я и думал, что возможно все осуществляется несколько иным способом...
Антон Тихомиров: я думаю, нет особо "иных" способов. Формируются все варианты писем, которые будут слаться и скармливаются программе, которая начинает активно спамить... Мне кажется, Вы упускаете из внимания то, что "серьёзные ресурсы" имеют порой колоссальные мощности. Почитайте про объём данных "Яндекс.Метрики" например, и про частоту и кол-во обновлений метрики, а так же про гипотетическое кол-во разнообразных просчётов... Сделать "срез данных" и сформировать из них, скажем, 1000 вариаций шаблонов - дело довольно не хитрое, впрочем как и скормить готовые данные пол сотне серверов, которые во много потоков каждый загадят этими письмами тысячи почтовых ящиков...
Neoline: ну не миллион, конечно, но имеется маленький ресурсик для души, юзеров там не три человека, поэтому для phpmailer'а все-равно могут возникнуть сложности. А насчет самих рассылок - тут дело вкуса, знаете ли-с. Сам из тех, кто отписывается от них сразу после регистрации на ресурсе, однако в случае Хабра - благодаря им я прочитал 90% (нет, даже 95%) статей, а специально у меня нет столько рабочего времени, чтобы заходить на него специально по утрам за чашечкой кофе. Я подписан на нем на три с половиной хабов, The Bat! проверяет почту приходит письмо с него, я пролистываю что интересного, вижу интересную стью - читаю/комментирую. А иначе бы вообще забыл о нем за занятостью. Они знаю, черти, как юзеров удержать))) С Тостером тоже, только благодаря этому я захожу на него и отвечаю на вопросы, на которые могу ответить. Это уж совсем альтруизм, когда заходят на него специально как заходят на биржу труда :/
Для регистрации на говноресурсах мне ещё нравится специальный сервис от Яндекса - "почта для домена". До 1000 ящиков в своём домене, просто великолепно!
юзеров там не три человека, поэтому для phpmailer'а все-равно могут возникнуть сложности.
"PHP-mailer, проблемы с 4-го письма, во всех тостерах страны!" (с) :D
Я уже писал выше, что PHP-mailer, идея сама по себе довольно хреновая, т.к. баны на "ноу-нейм" рассылки выдают на раз, либо сразу в СПАМ (молча), либо вообще без признаков наличия письма (аки ГМайл).
Это уж совсем альтруизм, когда заходят на него специально как заходят на биржу труда :/
тут у каждого свои причины, но у меня тостер-письма сразу в архив идут... Сегодня например, с работы увольнялся, мне скучно было, тусовал на тостере :))
Антон Тихомиров: ну если Вы принципиально нацелились на PHP-mailer, насколько я помню, PHP-тоже имеет поддержку многопоточности, можно там распараллелить... или написать какой-нибудь, довольно скромный скрипт на питоне, который так же многопоточностью владеет... скрипт, который будет так же слать почту, либо через консольную команду, либо какой-нибудь питоновской штукой (какой именно - не скажу, не сталкивался давно уже).
Ого! А можно с этого места поподробнее? Тостер что-то значит? o_O
Да, при выборе одного из двух одинаково безнадёжных кандидатов, может сыграть роль наличие профиля в IT'- "соцсети", с большими показателями чего-либо, чем у оппонента. А если объективно, то фирм которые проводят глубокий анализ кандидатов, - довольно мало, и в 99% случаев, это делается только для должностей уровня руководителей высшего и среднего звена, и преимущественно в очень крупных компаниях. По этому, в 99% случаев, это не более чем... ну в общем Вы поняли. К тому же, похвастаться чем-то вроде "я живу на тостере/форуме/етц" - может стать и отрицательной составляющей...
Евгений Вольф: а, ну понятно) Я просто думал как-то на карму на Хабре влияет, или типа того. Типа зависит от количества ответов. А чтобы избежать накрутки можно только по тем, которые отметили решением. О, а отличная идея вообще-то, надо бы на @dearhabr кинуть...
1. Никто не делает большие рассылки PHP-мейлером. Используется, например, скрипт, который генерирует письма и ставит их в очередь MTA и в дальнейшем письма рассылаются MTA (при правильной конфигурации, например, Postfix разослать миллион писем с одной машины за несколько часов не проблема). При необходимости скрипт запускается в несколько потоков / на нескольких машинах. Еще чаще вместо локального MTA используется API поставщика услуг электронных рассылок (ваши представления о нем не верны, просто вы не умеете им пользоваться), т.к. миллион писем от вас не примет ни одна почтовая служба, пока вы не накопите нормальную репутацию.
2. Пользователи сегментируются. Чем сильней сегментируются - тем лучше. В первую очередь по активности, если пользователь год не заходил на сайт, а вы ему каждую неделю что-то шлете - ваши письма почти наверняка окажутся в спаме. Так же возможно сегментация по полу, возрасту, географии, уровню дохода, новый пользователь / постоянный пользователь / уходящий пользователь / потерянный пользователь. По сегментам определяется частота и типы рассылок.
3. Рассылки персонализируются с учетом предыдущей активности пользователя и его сегментов.
4. Рассылки сплит-тестируются. Выбираются наиболее эффективные.
5. Рассылки триггерятся. Спамить пользователя раз в неделю давая ему простыню со списком товаров малоэффективно. Гораздо эффективней зацепить его в определенный момент времени конкретным предложением. Например если мужчина покупал что-то женское (духи, цветы, кофеты) - напомните ему об этом ровно через год и предложите что-то, что может хорошо сочетаться (обновлять, дополнять, заменять) с первой покупкой. Если он покупал подарок для новорожденного - предложите через год подарок для годовалового ребенка. Дни рождения и прочие знаменательные даты любят повторяться. Если он покупал велосипед, потом через месяц что-то к нему - предложите еще через месяц (к следующей ЗП) скидку на еще какой-то аксессуар именно к этому велосипеду (если велосезон еще не окончен, разумеется). Хорошее предложение должно приходить не раз в неделю, а тогда, когда оно наверняка заинтересует.
Ясно, большое спасибо, то, что я и хотел узнать. Да в том-то и дело, я чисто программист, в продажах вообще никак, да и мне нужны не они, а просто информирование юзеров что новенького.
Окей, не буду отрицать, с сервисами рассылок знаком очень поверхностно, но если по сути: вот я нагенерил миллион персонализированных писем для каждого юзера согласно тому, что он читает на сайте или на что подписан. И эти миллион писем я уже передаю сервису через его api, так? А мыло в таком случае чье используется? Если почта на своем домене, то ведь можно точно так же бан схлопотать, или в этом случае того же Яндекса это вообще никаким боком не касается?
Антон Тихомиров: да, письма как правило передаются через API, e-mail отправителя (From:) обычно используется существующий, соответствующий категории письма (разный для разных категорий - общие маркетинговые, триггерные, транзакционные) и такой, что его читают люди, т.к. получатели иногда отвечают. Получателю это позволяет настраивать фильтры по отправителю по категориям писем и даже если маркетинговые письма полетят в спам, транзакционные письма будут доходить. E-mail отправителя в SMTP-конверте (envelope-from) часто генерируется уникальный для каждого письма, это позволяет легко отлавливать отлупы, обнаруживать недоставленные письма и исключать "мертвые" адреса получателей.
Владимир Дубровин: извиняюсь, все руки не доходят ответить... Вот оно что! А я и понимал, что готовые шаблоны нужно куда-то передавать, но вот и не мог понять куда) Смотрю как раз сервис от Печкин-мэйл (знакомые знакомых знакомых открывали), у них и api есть, и статистика по каждой рассылке, вплодь до отписавшихся и прошедших по ссылкам. Прям подарок) Только дорого как-то выходит, 800 руб/мес. Ну ладно, самое главное - что такое, собссно, есть)