所以这就是情况。我是一个电子邮件帐户(如gmail或其他东西),每天都会收到一封附有文件的电子邮件,其中包含一些数据。有没有办法让程序每天检查电子邮件,比如午夜或者其他什么,下载该文件,并将内容存储到SQL数据库中?
我熟悉Java,Javascript,PHP,HTML和Python。有什么方法可以做到这一点,但是有没有办法用我已经知道的方法做到这一点?
感谢您的帮助!
2 个答案:
答案 0 :(得分:0)
我使用Pop3client在C#中开发了这样的解决方案,但不知道它是否是最好的。
以下是在Java中执行此操作的示例:
pop3-client tutorial
答案 1 :(得分:0)
我喜欢使用Python来完成这类任务,它很快且极简。
您可以使用POP3或IMAP协议访问邮件。 Python包含可与其一起使用的模块:poplib和imaplib。 POP3更简单,如果您只需下载邮件并在此之后删除它,我建议使用它。
IMAP更先进。每条消息都有自己的UID,用于标识消息。新消息具有更大的UID,然后是旧的消息,因此每次运行下载时,您只需要在某处(在文件,数据库中)存储您处理的最大UID消息,并在下次运行下载时使用它来查找更新的消息。请参阅here从Python使用IMAP的示例。
要安排下载每个X小时,您可以选择以下选项:
- 编写下载新消息的应用程序,然后使用sleep()函数在无限循环中休眠。
- 编写只下载新邮件并完成其工作的应用程序。使用Cron工具在外部安排其运行。
醇>