PHP выполнить действие с входящей электронной почтой - PullRequest
1 голос
/ 03 февраля 2010

Я создаю сайт для обмена фотографиями (просто тестирую PHP) и хочу, чтобы пользователи могли отправлять фотографии по электронной почте.

Например, веб-сайт должен запускать сценарий, когда пользователи отправляют электронное письмо с вложенным изображением и текстом в теле. Изображение будет загружено на сервер, и будет создан новый «пост фотографии» с текстом в теле письма, являющимся описанием.

У меня вопрос, как мне сказать, чтобы мой сервер автоматически запускал скрипт при получении электронной почты?

Любая / вся помощь очень ценится. Если вам нужна дополнительная информация, просто комментируйте!

Спасибо! -Giles

Ответы [ 4 ]

2 голосов
/ 03 февраля 2010

Если вы используете cpanel, вы можете направить письмо к скрипту, который затем обрабатывает письмо соответствующим образом.Вы можете найти эту опцию в почтовых пересылках.

1 голос
/ 03 февраля 2010

Если вы используете веб-сайт на сервере UNIX, к которому у вас есть доступ, вы можете сделать это с помощью procmail, sieve или аналогичных помощников по почтовому транспорту.Вам придется создать учетную запись пользователя для получателя псевдонима, так как procmail вызывается только для обработки почты «реальных» пользователей.Ваш .procmailrc будет выглядеть примерно так:

:0
*
| /usr/bin/php /path/to/your/script.php

И помните, что procmail будет передавать свою информацию в качестве аргументов (и в переменных env).

Приведенный выше сценарий может вообще невозможно для вас, но если это так, я рекомендую присмотреться к http://www.procmail.org/

1 голос
/ 03 февраля 2010

Вы хотите использовать cron . Это стандартный способ Unix регулярно запускать скрипты без какого-либо вмешательства пользователя. Создайте свой сценарий, убедитесь, что он может быть запущен пользователем сервера, а затем запланируйте его (полная команда, например, php myscript.php в cron). Он не запускается при получении письма, но вы можете запускать сценарий достаточно часто, чтобы разница не была заметна.

0 голосов
/ 03 февраля 2010

В качестве альтернативы, вы можете «направить» письмо напрямую в ваш PHP-скрипт.Процесс будет немного отличаться в зависимости от комплекта вашей электронной почты и / или программного обеспечения панели управления сервером.Вы можете получить «вдохновение» из руководства по Kayako по адресу http://www.kayako.com/manuals/Kayako_SupportSuite_User_Manual_PDF.pdf (стр. 61 и далее), в котором показано, как настроить передачу электронной почты в службу поддержки Kayako.Вам, однако, придется написать PHP-файл, который будет считывать файл из STDIN самостоятельно.

...