当前位置:  开发笔记 > 编程语言 > 正文

如何通过电子邮件控制Web应用程序?或者如何通过发送电子邮件运行PHP脚本?

如何解决《如何通过电子邮件控制Web应用程序?或者如何通过发送电子邮件运行PHP脚本?》经验,为你挑选了1个好方法。

我想使用CakePHP框架在php和mysql上运行Web应用程序.为了保持在非常低的位置使用网站的门槛,我不想使用用户名/密码的标准登录.(而且我也不想用OpenID之类的东西来骚扰我的用户.转到用户类型.)

所以我认为用户可以通过发送电子邮件到login@domain.com登录,不需要任何主题或内容.作为回复,他们会收到一封电子邮件,其中包含一个会将其登录的链接(它将包含一个哈希值).此外,我会让用户在没有访问网站的情况下进行一些操作,只需发送一封电子邮件至command@domain.com,即可执行该命令.我将假设用户及其电子邮件提供商负责他们的电子邮件帐户安全性,因此我的网站上不需要它.

现在,我如何从一封电子邮件发送到一个人类未读取的帐户,以解雇一些脚本(基本上是"虚拟浏览器客户端"调用网址(而cakephp将负责其余部分)?


我之前从未使用过cron工作,但我认为我理解他们的目的或者他们通常如何工作.我不能让访问该网站的随机人员调用该脚本,因为该解决方案由于多种原因不起作用.我想我想听到更多关于将脚本作为对电子邮件的响应而运行的可能性,如果有人对此有任何意见的话.如果它作为一个cron作业运行,它将只检查每X分钟,用户将得到他们的响应滞后(如果我理解正确).

由于不同的命令会有不同的电子邮件地址,例如login @ domain.com,我知道如何做以及如何根据发件人电子邮件进行操作,我甚至不需要电子邮件中的内容,主题或任何其他标题.


关于这个应用程序的安全性有很多担心,我理解这些问题,但是没有放弃我的概念,我不认为这对我正在做的事情来说是个大问题.关于可用性问题,真的没有.如果/当他们需要用户配置文件和其他命令时,它就会登录以提供对用户配置文件的更改.这是主要的电子邮件,很容易记住和整个概念的开头.



1> Mark Biek..:

我使用pop3 php类非常成功(还有一个Pear POP3模块).

使用pop3类看起来像这样:

require ('pop3.php');

$pop3 = new pop3_class();
$pop3->hostname = MAILHOST;
$pop3->Open();
$pop3->Login('myemailaddress@mydomain.com', 'mypassword');

foreach($pop3->ListMessages("","") as $msgidx => $msgsize)
{
    $headers = "";
    $body = "";

    $pop3->RetrieveMessage($msgidx, $headers, $body, -1);
}

我用它来监视一个送入数据库的POP3邮箱.

它被一个cronjob调用,它使用wget来调用我的php脚本的url.

*/5 * * * * "wget -q --http-user=me --http-passwd=pass 'http://mydomain.com/mail.php'" >> /dev/null 2>&1

编辑

我一直在想你需要用户通过电子邮件发送某些网站命令.

拥有一个可以发送多个命令而不是多个地址的地址会不会更容易?

我认为安全问题也非常有效.除非这些命令是非破坏性的或者没有做任何特定于用户的事情,否则系统将对任何知道如何欺骗电子邮件地址的人开放(这将是每个人:)).

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有