如何从发送到您的灯服务器的电子邮件中获取内容

时间:2017-05-25 03:32:00

标签: php apache email

假设我有自己的服务器,并且我想发送一封电子邮件,其中包含" hello World"到我的网站,submit @ example.com

有没有办法自动提取文字" hello world"并将内容发布到我的网站?

我相信我可以用PHP读取文件,并且每个收到的电子邮件都可以通过apache创建文件......但我在这里缺少一些知识

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您需要让PHP充当电子邮件客户端。看看PHP IMAP(实际上也适用于POP)http://php.net/manual/en/intro.imap.php

虽然电子邮件几乎总是作为文件存储在磁盘上,但除非您正在编写新的电子邮件服务器(我实际上已经考虑过,但这绝对不是一项微不足道的任务),因此不建议直接访问这些文件。您的Web服务器(例如,在Apache中运行的PHP)不具备该级别的访问权限。正确的基本步骤是:

  1. 添加电子邮件帐户,设置密码等。决定是否要将其作为IMAP访问(除非您删除然后清空垃圾箱,否则电子邮件会粘在一起,这样您就可以在服务器上存档和/或从其他设备访问)或POP(通常是#34;阅读电子邮件并立即从服务器删除")。
  2. 编写PHP代码以读取邮件帐户。根据电子邮件服务器/主机配置,具体细节会略有不同。您可能需要稍微努力才能成功阅读消息列表。
  3. 一旦您能够阅读这些消息,您可能需要处理多种格式。特别是,消息可以以纯文本或哑剧部分的形式出现。根据用于编写原始邮件的软件,可能会有相当多的变化,因此要测试您可能希望使用Outlook,Thunderbird和其他程序发送邮件。
  4. 您可能还需要从合法邮件中过滤掉HTML标记和其他无关的内容,并且您将不可避免地想出一种阻止垃圾邮件的方法。如果您只接受来自注册用户的消息,那么您可以根据发件人:地址进行验证(至少作为开头,因为这也可以欺骗......)但是如果支持电子邮件地址是"打开"然后过滤垃圾可能是一个很大的挑战。
  5. 这是一个非常重要的项目,但我已成功设置了一些此类型的系统,但通常使用控件来帮助阻止垃圾邮件(例如,主题行中的必需代码;有限"来自&#34 ;地址)。