PHP使用传入电子邮件执行操作

时间:2010-02-03 14:28:20

标签: php email email-integration photo

我正在建立一个照片共享网站(仅测试PHP内容),我希望用户能够使用电子邮件提交照片。

例如,当用户发送带有图像附件和正文中的文本的电子邮件时,网站需要运行脚本。图像将上传到服务器,并创建一个新的“照片帖子”,电子邮件正文中的文字为描述。

我的问题是,当收到电子邮件时,如何告诉我的服务器自动运行脚本?

非常感谢任何/所有帮助。如果您想了解更多信息,请发表评论!

谢谢! -Giles

4 个答案:

答案 0 :(得分:2)

如果您使用cpanel,则可以将电子邮件发送到脚本,然后相应地处理电子邮件。您可以在电子邮件转发器下找到该选项。

答案 1 :(得分:1)

您想使用cron。它是定期运行脚本的标准Unix方式,无需任何用户干预。创建脚本,确保它可以由服务器用户运行,然后安排它(完整命令,例如cron中的php myscript.php)。收到电子邮件时它不会运行,但您可以经常运行脚本,以便区别不明显。

答案 2 :(得分:1)

如果您在UNIX服务器上运行该网站,您可以使用procmail,筛选或类似的mailtransport帮助程序来访问您。您必须为别名接收者创建一个useraccount,因为仅调用procmail来处理“真实”用户邮件。你的.procmailrc看起来像这样:

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

请记住,procmail会将其信息作为参数(以及env变量)传递。

上述情况对您来说可能根本不可能,但如果是,那么我建议您仔细查看http://www.procmail.org/

答案 3 :(得分:0)

或者,您可以将电子邮件直接“管道”到PHP脚本。根据您的电子邮件套件和/或服务器控制面板软件,执行此操作的过程会略有不同。您可以从http://www.kayako.com/manuals/Kayako_SupportSuite_User_Manual_PDF.pdf(第61页起)的Kayako手册中获得“灵感”,其中显示了如何为Kayako支持服务台设置电子邮件管道。你必须编写PHP文件,然后自己从STDIN中读取文件。