【问题标题】:How to affect a PHP program / mysql database from an email response如何通过电子邮件响应影响 PHP 程序/mysql 数据库
【发布时间】:2012-11-11 04:14:44
【问题描述】:

我正在努力研究如何做某事。这一定是可能的——我在多个系统(Twitter、Facebook 等)中看到过类似的事情

我想做的基本事情是 - 有人在我的网站上发表评论。评论会发送到我的电子邮件以及我的 MySql 数据库。然后我直接在我的电子邮件上回复。回复将保存到数据库中,并自动批准用户的评论。

我不知道如何直接通过电子邮件与我的 MySql / PHP 系统对话。另外 - 我不知道如何设置收件箱?

我猜我需要设置邮件服务器规则,以便发送到 xxxx-response@mydomain.com 的电子邮件实际上被重定向到 php 脚本,其中 xxxx 是原始评论的标识符?

感谢您提供的任何启发......

【问题讨论】:

  • 好吧,我会使用在 cli 模式下执行的 php 脚本(作为计划任务或其他)来检查回复收件箱中的邮件,获取邮件并解析它们以在 db 中添加回复...
  • 您可以设置一个邮件管道,将电子邮件提交到脚本,具体取决于您的邮件服务器。我们对所有退回的邮件执行此操作。一个例子:harrybailey.com/2009/02/send-or-pipe-an-email-to-a-php-script

标签: php mysql email comments feedback


【解决方案1】:

假设您使用的是 unix 系统,您可以设置一个帐户来接收邮件,例如“fred”,并在 fred 的主目录中使用 .forward 将电子邮件传送到您的 php 脚本。例如

.转发:

|"/usr/bin/php /path/to/your/script.php"

每当一封电子邮件到达 fred 的邮箱时,它将调用您的脚本。

【讨论】:

    【解决方案2】:

    您不能“通过电子邮件与 mysql 交谈”。电子邮件是一段被动的文本,没有任何东西可以采取行动。

    解决方案是基于这样的:

    您有一个电子邮件帐户,并通过 php 脚本定期轮询该帐户的收件箱,方法是使用 wget 或类似的结合 crontab 条目。您也可以创建事件驱动的方法,但这更复杂,并没有真正提供优势。对于在该收件箱中找到的所有消息,您检查它是否与数据库中的任何先前条目匹配。您可以这样做,因为您可以通过 php.ini 访问消息标题和正文(文本)。这就是你所需要的。通常,两条消息之间的连接是通过评估电子邮件程序在您按下回复按钮时设置的“In-reply-to”标头来完成的。它就像一个参考。

    对帐户收件箱的访问是通过标准邮件访问协议完成的,通常是 pop3 或更好的 imap4。当邮件服务器不在同一个系统上时,显然您也想添加 ssl 加密。 php 的imap 扩展是实现这样一个客户端的一个很好的开始,它支持多种协议。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-24
      • 2011-10-07
      • 2021-12-25
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 2021-08-13
      相关资源
      最近更新 更多