Вызывать php-скрипт всякий раз, когда приходит электронное письмо?

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

Например, такое электронное письмо

To: [email protected]
From: [email protected]
Subject: hello!
Message: Hey man whats up?

Сделал бы HTTP-запрос на

http://example.com/notify.php

С некоторыми данными POST:

[email protected]&[email protected]&subject=hello!&message=Hey man whats up?

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


person Christopher Tarquini    schedule 16.02.2010    source источник


Ответы (2)


Настройте псевдоним канала в вашем MTA:

autoprog:      |myscript.php

В этот момент вы можете заставить свой скрипт проанализировать электронное письмо и открыть URL-адрес с правильно закодированным в строке запроса. Или он может просто обработать письмо напрямую.

person Ignacio Vazquez-Abrams    schedule 16.02.2010
comment
Возможно ли это в среде общего хостинга с включенным доступом по SSH? Хост обычно меняет конфигурацию на сервере, чтобы включить функции, поэтому, даже если что-то нужно изменить на глобальном уровне, легко ли это реализовать для каждого пользователя/домена? Например, перенаправлять электронные письма только на *@example.com, а не на *@example.info. - person Christopher Tarquini; 16.02.2010
comment
Пока вы можете настроить псевдонимы, а не только виртуозы, вы можете заставить это работать. Просто создайте свой псевдоним с каким-нибудь трудно угадываемым именем или что-то в этом роде, а затем настройте своих виртуаторов для пересылки почты на этот псевдоним по желанию. - person Ignacio Vazquez-Abrams; 16.02.2010

Опрос почтового сервера каждую минуту для проверки папки «Входящие» не должен сильно истощать систему. Большинство почтовых клиентов делают именно это. Если сервер электронной почты — IMAP, POP3 или NNTP, и вы хотите использовать PHP для запроса полученной почты, вы можете выполнить опрос, используя файл Расширение IMAP для PHP.

person Jacob    schedule 16.02.2010
comment
Проблема, которую я вижу в этом, заключается в том, что ему придется проверять электронную почту каждой учетной записи (каждый член моего сайта получает ее), что, вероятно, не будет хорошо масштабироваться. Он должен делать это все время, а не только тогда, когда пользователь вошел в систему, потому что он выполняет определенные действия, основанные на содержании электронной почты. - person Christopher Tarquini; 16.02.2010
comment
Я понимаю. Не знал, что у вас будет несколько ящиков для проверки. В этом случае я бы согласился с ответом почтового агента Игнасио. - person Jacob; 16.02.2010