читать переадресованную почту Cpanel в php Script за один раз - PullRequest
1 голос
/ 12 декабря 2011

Когда электронная почта отправляется на мой сайт, запускается следующий php-скрипт, я сделал это с помощью Cpanel, чтобы запустить его при отправке электронной почты .

Я использую этот скрипт для чтения электронной почты:

#!/usr/local/bin/php -q
<?php
$email = '';
$stdin = fopen("php://stdin", "r");
while (!feof($stdin)) {
    $email .= fread($stdin, 1024);
}
fclose($stdin);
$email = file_get_contents('php://stdin');
?>

Теперь, если два письма были получены одновременно на моем веб-сайте, что произошло? есть ли проблемы с его чтением?

потому что этот скрипт такой же, как чтение файла.

1 Ответ

2 голосов
/ 12 декабря 2011

Не должно быть проблемой, чтобы два были получены одновременно. Почтовый транспортный агент (MTA = postfix, sendmail, exim и т. Д.) Поставит их в очередь для доставки в ваш скрипт. С точки зрения вашего сценария, даже если несколько его копий выполняются как параллельные процессы, каждый отдельный процесс получит свой собственный входной поток STDIN. Они не будут мешать друг другу.

Это на самом деле ничем не отличается от MTA вашего сервера, получающей почту и передающей ее через некоторый уровень обработки, такой как Spamassassin или Procmail.

...