Можно ли установить соединение SMTP с помощью PEAR после того, как php завершит его выполнение? - PullRequest
0 голосов
/ 01 марта 2010

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

Ответы [ 3 ]

1 голос
/ 01 марта 2010

Нет, вы можете сохранить только несколько вызовов метода send ().

0 голосов
/ 03 марта 2010

Лучшее решение - установить MTU, такой как sendmail, postfix или QMail, а затем отправлять вашу почту локально на него, это снизит задержку соединения в вашем скрипте до минимально возможного, не связываясь с пулом соединений или фоновый демон.

0 голосов
/ 01 марта 2010

Существует два способа решения вашей проблемы:

  1. Пул соединений
  2. Передать работу фоновому процессу

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

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

...