![处理电子邮件附件](https://linux22.com/image/797664/%E5%A4%84%E7%90%86%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E9%99%84%E4%BB%B6.png)
我已经发布了这个问题,但是它太模糊了所以被关闭了,所以我希望这会更好一些。
我们有一个基于 php 的应用程序,它可以读取 csv 报告,然后将其添加到数据库和/或以图形方式显示给客户和我们自己。这很有效,但我们的问题是如何将 csv 放在我们需要的地方。
我们从一个不受我们控制的独立系统自动接收报告。这些报告以电子邮件附件的形式定期发送到多个不同的电子邮件地址。目前,我们有一种软件可以从电子邮件服务器(主要是谷歌)获取电子邮件,提取 csv 文件,根据我们的要求重命名,然后使用 ftp 将其放在多个位置之一,具体取决于它来自的地址。虽然这可行,但它在我们办公室的本地机器上运行,并且需要不断运行。我们需要将其从设置中删除。我是一名网站程序员,在服务器端不太擅长,所以我不确定,但有没有办法我们可以实现相同的结果,而不需要机器上运行软件?
- 从电子邮件服务器检索电子邮件(它可以发送到我们需要的任何电子邮件地址,我们目前只是为了方便使用谷歌)
- 提取 csv 文件
- 重命名 csv 文件
- 将其添加到我们服务器上的文件夹中
谢谢!如果您认为这太模糊或需要更多信息,请直接询问,而不是直接将其标记为错误,我试图说清楚,但如果没有行话,可能会很难。
答案1
您需要运行此软件某处,但考虑到您的要求,它几乎可以在任何地方运行。您可以编写一个程序来处理所有这些,而无需 Web 服务器 - 您基本上会通过 POP 或 IMAP 检索电子邮件,处理它以提取附件,然后将附件保存到需要保存的任何位置。PHP 可以做到这一点,但 Perl、Python、Ruby 或任何其他语言也可以。
我的实现方法是每 X 分钟通过 cron 运行一次该程序,如果发现新消息但由于某种原因无法处理,则向您发送电子邮件提醒。