程序自动从电子邮件下载文件

时间:2014-03-26 13:11:52

标签: sql email automation

所以这就是情况。我是一个电子邮件帐户(如gmail或其他东西),每天都会收到一封附有文件的电子邮件,其中包含一些数据。有没有办法让程序每天检查电子邮件,比如午夜或者其他什么,下载该文件,并将内容存储到SQL数据库中?

我熟悉Java,Javascript,PHP,HTML和Python。有什么方法可以做到这一点,但是有没有办法用我已经知道的方法做到这一点?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我使用Pop3client在C#中开发了这样的解决方案,但不知道它是否是最好的。

以下是在Java中执行此操作的示例: pop3-client tutorial

答案 1 :(得分:0)

我喜欢使用Python来完成这类任务,它很快且极简。

您可以使用POP3或IMAP协议访问邮件。 Python包含可与其一起使用的模块:poplibimaplib。 POP3更简单,如果您只需下载邮件并在此之后删除它,我建议使用它。

IMAP更先进。每条消息都有自己的UID,用于标识消息。新消息具有更大的UID,然后是旧的消息,因此每次运行下载时,您只需要在某处(在文件,数据库中)存储您处理的最大UID消息,并在下次运行下载时使用它来查找更新的消息。请参阅here从Python使用IMAP的示例。

要安排下载每个X小时,您可以选择以下选项:

  1. 编写下载新消息的应用程序,然后使用sleep()函数在无限循环中休眠。
  2. 编写只下载新邮件并完成其工作的应用程序。使用Cron工具在外部安排其运行。