自动保存/下载电子邮件正文到磁盘

自动保存/下载电子邮件正文到磁盘

有没有一个程序可以让我连接到我的邮件服务器 (IMAP) 并自动将某些新电子邮件保存到磁盘?我每天都会多次收到来自为我们处理某些信息的系统的有关待处理作业的自动电子邮件更新。这些电子邮件中的数据以纯文本形式写入邮件正文中。我想下载最新消息,解析它,并将其显示在我的桌面上。最后两部分我可以顺利完成 - 只是自动下载是一个挑战。

我不使用 Outlook(我使用 Thunderbird),但不想打开客户端来实现这一点。我目前正在运行 Win7。

答案1

我会通过编写脚本来解决这个问题。Ruby 有一个 IMAP 库,我认为 Perl 和 Python 也有一个,如果你更喜欢它们的话。

这是基于 IMAP 文档中的示例的粗略、未经测试的 Ruby 版本(您需要在 Windows 机器上安装才能使用)这里

  imap = Net::IMAP.new('mail.example.com')
  imap.authenticate('LOGIN', 'joe_user', 'joes_password')
  imap.examine('INBOX')
  imap.search(["NEW", "FROM", "example.from", "SUBJECT", "example subject"]).each do |message_id|
    body = imap.fetch(message_id, "BODY[TEXT]")[0].attr["BODY[TEXT]"]
    File.open('path to file', 'a') { |f| f.write(body) }
  end

您可以根据需要更改传递给搜索的参数以识别您的消息。安装 ruby​​,将此脚本保存为文本文件,并将其设置为每隔几分钟作为计划任务运行,这样您就应该获得包含消息正文的文本文件。

相关内容