Почтовые лучшие практики массы PHP? (PHPMailer + Gmail)

Я думаю Контекст, Бесплатная Статья могла бы быть хорошим выбором с выводом графики, это делает его большой забавой, изучая [приблизительно 111] контекстно-свободную грамматику .

14
задан Kenny 26 November 2009 в 17:54
поделиться

5 ответов

Если количество электронных писем достигает 10.000 в день, я бы не стал полагаться на GMail (или другие прочее) SMTP. Не то чтобы они не могли справиться с этим, очевидно, они могут справиться НАМНОГО больше. Но они, возможно, не хотят этого.

ИМО - это путь к локальному SMTP-серверу:

  • Его довольно легко настроить (только НЕ позволяйте людям использовать его без строгой схемы аутентификации)
  • Самый современный MTA очень хорошо обрабатывает очереди на отправку
  • Вам не придется иметь дело с GMail (или другими), которые когда-нибудь решат заблокировать вашу учетную запись по причинам квоты
6
ответ дан 1 December 2019 в 13:59
поделиться

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

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

0
ответ дан 1 December 2019 в 13:59
поделиться

I'm not sure if it's publishe anywhere, but from experience I can tell you that Gmail will put a fifteen minute or so freeze on your account if you start sending hundreds of messages at a time. This happened to me last week. I think you should host your own SMTP server. Using the mail() function often will put your mail in someone's spam folder.

0
ответ дан 1 December 2019 в 13:59
поделиться

Google App Engine

Я бы написал это на движке приложений Google (python), потому что:

  • Он хорошо масштабируется.
  • У него хороший API электронной почты.
  • У него есть очередь задач с хорошим API для доступа к нему.
  • Потому что python - действительно хороший язык.
  • Это (относительно) дешевый.

PHP

Если бы я реализовал его на PHP I would

  • Найдите себе хороший SMTP-сервер, который позволит вам отправлять такой объем писем, потому что Gmail не позволяет отправлять такие объемы. Я уверен, что это будет стоить вам денег.
  • Найдите себе приличную почтовую библиотеку PHP для отправки сообщений, например, с помощью PHPMailer, как вы сказали.
  • Используйте очередь сообщений, например, beanstalkd, чтобы помещать в нее сообщения электронной почты. очередь и отправил письмо асинхронно. Во-первых, потому что с этим у пользователя будет более быстрая загрузка страницы. Во-вторых, с помощью очереди сообщений, такой как beanstalkd, вы можете лучше регулировать скорость отправки, что предотвратит перегрузку вашего компьютера работой. Вам понадобится ssh-доступ к серверу для компиляции (установки) beanstalkd. Вы можете найти beanstalkd по адресу beanstalkd
  • . Вам также понадобится доступ по ssh для запуска PHP-скрипта в фоновом режиме, который будет обрабатывать очередь сообщений. Вы можете найти beanstalkd-client на php beanstalkd-client

на php / apache / webpage

Это страница, с которой вы будете отправлять сообщения пользователю. С этой страницы вы отправите сообщение в beanstalkd, написав что-нибудь в следующих строках:

// register Pheanstalk class loader
require_once('pheanstalk_init.php');
$pheanstalk = new Pheanstalk('127.0.0.1');
$message = ""; // This would contain your message
$pheanstalk->put(json_encode($message);

Вы должны поместить сообщения в очередь сообщений с помощью команды put

Из длительного PHP-скрипта в фоновом режиме:

Код будет выглядеть что-то вроде этого:

10
ответ дан 1 December 2019 в 13:59
поделиться

Gmail и Google Apps ограничивают вас примерно 500 электронными письмами в день. Я не уверен, как это сочетается с максимальным количеством получателей 500, но если вы хотите отправить 10 000 писем, вы, вероятно, захотите найти другой почтовый сервер. Я лично использую локальный сервер или SMTP провайдера или центра обработки данных.

Если вы отправляете такое количество писем, я бы рекомендовал использовать очередь, чтобы пользователь не сидел там, ожидая отправки письма.

0
ответ дан 1 December 2019 в 13:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: