Направить электронную почту на сервер apache / php

Мы создали веб-сервис, который необходимо постоянно проверять на наличие сообщений электронной почты. По сути, пользователь отправляет нам электронное письмо, и сервер должен делать действия на основе этого письма. Мы могли бы использовать скрипт PHP crontab, который каждую минуту проверяет новые сообщения с помощью POP. Но это оскорбительно для popserver и не очень эффективно (1мин слишком длинный).

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

Могу ли я отправить электронное письмо на свой веб-сервер и выполнить его скрипт PHP? Мы используем GMail как сервер POP / SMTP / IMAP.

ИЗМЕНИТЬ 1 из ответов, мы выяснили:

  1. должен быть запущен 24/7 процесс (daemon) на моем веб-сервере, проверяющем электронные письма

  2. этот демон может взаимодействовать с Gmail, используя: i) POP с NOK coomand или ii) IMAP с командой IDLE

Что лучше? POP или IMAP? Google, похоже, предлагает больше использовать IMAP.

Я не хочу злоупотреблять gmail (каково их «честное использование» для проверки электронной почты каждые 10 секунд?

Если вы хотите использовать постфикс в качестве своего MTA, вы можете псевдоним адреса электронной почты для любого исполняемого файла, подобного этому . Это действительно не так сложно настроить на ящике * nix …

У меня нет опыта работы с IMAP, но я должен был сделать то же самое. Если бы я был вами, я бы установил Postfix и использовал команду pipe (в основном позволяет запустить произвольный скрипт), чтобы вызвать небольшой клиент http, который анализирует письмо и отправляет его на ваш сервер.

Конечно, вы можете заменить постфикс любым MTA. Дело в том, что не используйте собственный почтовый сервер. Используйте существующую и используйте свои крючки, чтобы отправлять почту туда, где она вам нужна, однако она вам нужна.

email_scheduler.c

int main() { while(1){ sleep(5); // every 5 secs the email_parser.php would get executed. system("/usr/bin/php -q /var/www/html/email_parser.php"); } } 

email_parser.php:

/ * Используйте любой синтаксический анализатор сообщений электронной почты для анализа сообщений электронной почты, таких как синтаксический анализатор сообщений MIME, на основе вашей цели: Refer: http://www.phpclasses.org/browse/package/3169.html * /

Также проверьте соответствующие ответы здесь для получения дополнительной информации

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

http://www.evolt.org/article/Incoming_Mail_and_PHP/18/27914/index.html