我正在调查一个新论坛的开发,并通过用户反馈发现通过他们的电子邮件客户端发布到论坛将是一个非常有用的功能。
我想知道:这可能吗?php 可以检查收件箱文件夹并将每封电子邮件变成论坛帖子吗?如果是这样,如何在 LAMP 环境中做到这一点?
设置一个由接收到特定地址的电子邮件触发的脚本将是最简单的。这样您就不需要编写新的 cron 脚本。您需要创建一个专门用于接收此类电子邮件的特殊电子邮件地址。线程可以通过主题中需要的内容来标识。我不确定你的用例,所以这是我能建议的最好的。您还可以要求电子邮件包含一些内容,以将发件人识别为您经过身份验证的论坛成员之一。您可能需要向他们公开秘密令牌或其他东西。这样,如果有任何垃圾邮件进入,您可以阻止发送它的人的帐户。
我相信一些开源论坛软件已经内置了这个,或者你可以安装一个插件来做到这一点。即使您自己做,您也可能希望获得这些模块以了解它们是如何做到的。
您可以创建一个调度(crontab、windows 调度程序)脚本来完成这项工作(从 SMTP 投递文件夹读取所有传入文件并发布消息)。但是,出现了两个问题:
PHP 具有可以读取 POP3 邮箱的IMAP 函数。您可能希望将它们与 cron 作业结合起来进行频繁轮询。
一些邮件服务器还提供在邮件进入时运行的触发器——您可以创建一个调用 PHP 脚本的触发器,传递传入消息的所有详细信息。如果您可以访问您的服务器并且可以实现这一点,那么使用它可能会更容易,因为您不必在脚本中自己连接到 POP 邮箱。
如果您有一个具有良好垃圾邮件检查功能的 POP3 邮箱,这可能会起作用 - 尽管正如 Naivists 所说,您当然必须找到一种方法来可靠地识别目标线程。