Какие существуют методы для создания большой системы уведомлений по электронной почте?

У моей компании есть веб-сайт, построенный с использованием PHP. Мы используем встроенную функцию электронной почты PHP, чтобы ежедневно отправлять тысячи писем подписчикам.

Это ужасная идея. Он заглушает наш сервер и занимает несколько часов, чтобы завершить всю партию.

Теперь я посмотрел на массовые почтовые службы, такие как MailChimp (что заменило бы нашу текущую систему отправки одного и того же письма многим людям), но я думаю, что мне действительно хотелось бы сделать несколько сложную систему уведомлений.

Вместо того, чтобы посылать массовое письмо каждому человеку каждый раз, когда что-то важное происходит, я бы хотел, чтобы клиенты могли настраивать скорость и содержание получаемых ими электронных писем.

Даже используя эту новую идею, мы говорим о большом количестве отправленных писем.

    Поэтому мой вопрос очень конкретный: у меня есть общее представление о том, как создать систему внутри страны, но каков наилучший способ отправить все эти электронные письма?

    Баллы для рассмотрения:

    • Иногда содержимое электронной почты одинаково для всех получателей, но многие из них будут настроены для каждого пользователя (они выбирают, о чем они уведомляются, а иногда и агрегируются).
    • Я хочу систему, которая не собирается задушить сервер и завершится в приличном количестве времени. Я не против идти с сторонним сервисом (даже платным), если это то, что он собирается принять.
    • Система должна легко подключаться к PHP, или API или что-то еще должно быть относительно легко для меня позвонить с вашего типичного веб-сервера.
    • У нас есть выделенный сервер и полный контроль над ним (поэтому мы можем устанавливать приложения, службы и т. Д.).
    • Любая подробная информация о отслеживании (открывается, клики и т. Д.) Является огромным плюсом.
    • Эти электронные письма иногда чувствительны к времени (поэтому не может занять весь день для отправки).

    Мысли? Советы? Направьте меня в правильном направлении?


    РЕДАКТИРОВАТЬ

    Чтобы уточнить:

    Я могу сделать это самостоятельно:

    • сохранить список пользователей
    • обрабатывать создание контента электронной почты на основе пользовательских настроек

    И нужно что-то еще (приложение, стороннее обслуживание, w / e), чтобы:

    • принимать содержимое и адреса электронной почты и отправлять электронные письма
    • предоставлять данные отслеживания (открывается, клики и т. д.). Чем больше деталей, тем лучше.

    Я склоняюсь к стороннему сервису, так как я не уверен, что какое-либо приложение может избежать удушения сервера при отправке тысяч электронных писем (хотя я бы не счел себя экспертом по электронной почте, чтобы я мог ошибаться).

    Related of "Какие существуют методы для создания большой системы уведомлений по электронной почте?"

    Я бы рекомендовал использовать сторонний почтовый сервис Silverpop или что-то в этом роде. Мы использовали их в течение нескольких лет и были удовлетворены. У них уже есть отношения с основными почтовыми клиентами (AOL, Yahoo !, Gmail и т. Д.), И они неплохо говорят вам, что материал, который вы отправляете, скорее всего, будет классифицирован как СПАМ.

    Они имеют довольно обширный API, который использует запросы XML HTTP / HTTPS, которые могут привязываться к существующим системам. Вы можете использовать его для удаленного запуска электронных писем, расписания рассылки, настройки содержимого электронной почты, настройки, управления и запроса огромных списков получателей, запуска пакетных процессов и т. Д.

    Это не идеальный сервис, но по сравнению с множеством других, они очень хорошо справляются. До сих пор у меня было очень мало жалоб.

    Мы используем встроенную функцию электронной почты PHP, чтобы ежедневно отправлять тысячи писем подписчикам.

    Это ужасная идея. Он заглушает наш сервер и занимает несколько часов, чтобы завершить всю партию.

    Почему вы думаете, что ваши проблемы связаны со встроенной функцией электронной почты PHP? Это очень тонкая оболочка вокруг «почты» или простого клиента SMTP в зависимости от того, на какой платформе вы работаете.

    Когда вы говорите, что это задевает ваш сервер – вы имеете в виду ваш почтовый сервер? Ваш веб-сервер? что-то другое?

    Здесь нет достаточной информации, чтобы сделать правильный диагноз, но похоже, что проблемы возникают из ваших собственных решений. Конечно, есть много людей, которые обещают разобраться во всех ваших проблемах, если только вы покупаете их последний продукт / услугу , Но есть очень хороший шанс, что это не решит ваши текущие проблемы.

    Вы можете рассказать нам:

    1. на какой ОС работает PHP

    2. как вы вызываете код для создания электронных писем

    3. что почтовый конфиг в файле php.ini

    4. какой тип MTA вы используете? На какой ОС?

    5. как вы управляете MTA? – это доставка напрямую или через интеллектуальное реле?

    6. какой сервер «задыхается»?

    7. Какие меры защиты от нежелательной почты у вас есть для исходящей почты?

    Затем сообщите нам, что вы сделали, чтобы диагностировать неисправность и почему вы думаете, что она специально предназначена для отправки писем.

    C.

    Обычно я обошел это, получив функцию «отправки» почты, которая сбрасывала электронные письма в очередь (таблицу базы данных) с заданием, которое выполнялось каждые пару минут, хватало следующие электронные письма x в очереди, отправляло их и помещало их как удалось. Это простые кости. Затем вы можете добавить обработку при сбоях электронной почты, возврате почты и т. Д. В версии 2.

    Используйте Google AppEngine, если вы обеспокоены масштабируемостью и настройкой: он предоставляет API-интерфейс электронной почты и вы можете связать с ним что-либо, если оно осуществляется через интерфейс HTTP.

    Конечно, это всего лишь предложение – пренебрежение, если это не подходит.

    Возможно, это не идеальный вариант , но если вы смотрите на крупномасштабную передачу, есть коммерческие решения, такие как PowerMTA от Port 25, которые можно настроить для эффективной передачи содержимого данной папки.

    Таким образом, вы просто используете PHP для создания персонализированных исходных данных в формате MIME для каждого исходящего письма и помещают их во временную директорию до передачи. (Я уже писал такую ​​систему в прошлом, и вы были бы удивлены тем, что PHP сможет размалывать электронные письма, даже с довольно сложными текстовыми и HTML-сообщениями с изображениями в виде встроенных вложений и т. Д.). Когда вы были готовы передайте, вы затем переместите файлы в маске в папку, контролируемую PowerMTA, и она позаботится о передаче.

    В зависимости от того, как вы смотрите на это, проблема / проблема с таким решением заключается в том, что вам нужно будет установить доверительные отношения с такими людьми, как AOL, MSN / Hotmail и т. Д., Чтобы гарантировать, что ваш почтовый сервер не включен в черный список из-за сообщение электронной почты как СПАМ. (Тем не менее, это, вероятно, будет фактором с любым решением DIY.)

    Почему бы не сохранить свою систему PHP и использовать стороннюю SMTP-службу? Некоторые надежные компании предлагают использовать машины с электронной почтой по разумным ценам, например, Dewahost, которые я планирую использовать.

    Также см. Вопрос « Сторонние отправители электронной почты» и мой ответ.

    Проверьте Campaign Enterprise на возможное внутреннее решение.

    Один из моих друзей использует http://www.tailoredmail.com, но я не использовал его лично

    Я знаю, что это старый вопрос, но я просто хотел предложить SendGrid, который по существу является «сервером электронной почты как услугой», позволяющим отправлять электронную почту со стоимостью по электронной почте.