在任何邮件客户端中打开eml文件并截取屏幕截图

时间:2009-06-09 13:18:22

标签: ruby screenshot email eml

我执行了很多创建电子邮件的测试。我将每条消息存储在单独的eml文件中。 (如果需要,我可以更改文件扩展名。)

我想在任何邮件客户端打开每个文件并拍摄一个屏幕截图,以便我以后可以直观地检查电子邮件。

我的想法是,我可以使用图像查看应用程序同时查看多个屏幕截图,因此我可以在视觉上比较它们(在每次测试运行后)。

我可以访问Windows,Mac和Linux计算机。我更喜欢解决方案是在Ruby中,但这不是必需的。

我在网上和这个网站上搜索,但到目前为止还没有运气。如果我找到它,我会将解决方案发布回答。

2 个答案:

答案 0 :(得分:1)

看起来像你can not automate Outlook Express。从命令行启动时,它仅接受newsonlymailonly选项。

从命令行启动时

Thunderbird accepts file name

C:\>"C:\Program Files\Mozilla Thunderbird\thunderbird.exe" mail.eml

这就是我在邮件客户端打开电子邮件所需的一切。

snapit.exe获取屏幕截图并将其保存到文件中。

以下是为多个eml文件拍摄屏幕截图的脚本。

file_names.each do |file_name|
  `start /d "#{thunderbird_folder}" thunderbird.exe #{file_name}`

  # if the script does not wait for a second, screen shot will be taken before
  # thunderbird opens
  sleep 1

  `snapit.exe`
end

答案 1 :(得分:0)

尝试使用Selenium截取屏幕截图

我从未尝试过,但有很多方法可以截取屏幕截图和使用Ruby的方法

来自documentation

capture_screenshot(filename)

Captures a PNG screenshot to the specified file.

‘filename’ is the absolute path to the file to be written, e.g. "c:\blah\screenshot.png" 

您还可以查看Page Glimpse来完成这些任务。

您需要找到一种方法来自动化“打开电子邮件/截取屏幕”程序。