Я хочу обрабатывать определенный почтовый ящик, когда он получает почту, я знаю, что мне может потребоваться проверка cron каждые n минут для любой почты, но мне интересно, есть ли способ «прослушивать» почту, а не постоянно опрашивать.
Если вы используете postfix, я бы предложил псевдоним почтовый ящик, который вас интересует, для процесса, который сделает всю работу за вас. Тогда нет опроса. Сообщение приходит и переходит непосредственно к обработке.
В зависимости от вашего почтового сервера, может быть возможным фактически доставить любое входящее сообщение процессу. Либо в .forward или путем создания чего-то более продвинутого. В exim вы можете настроить транспорт для запуска команды для определенных адресов.
Попробуйте .forward файл
Вы можете передать сообщение в любую программу или скрипт, который хотите, но также проверить, может ли procmail делать то, что вы хотите.
если у вас нет почтового сервера самостоятельно (root-доступ) - вы можете использовать для этого веб-сервис: http://cloudmailin.net (200 писем в месяц бесплатно) - работает как charme и выручил меня .
Как уже упоминали Джейсон и Zoredache , вы можете сделать это в самом MTA. Другая возможность - inotify смотреть файл почтового ящика или maildir.