5

我的工作要求我为某些测试自动生成电子邮件。我一直在环顾四周,但未能找到可以快速实施的合理解决方案。它需要在 Outlook 而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。

显然 win32ole 可以做到这一点,但我找不到任何相当简单的例子。

4

2 回答 2

9

假设 Outlook 凭据已存储并且您设置为自动登录到 Outlook,WIN32OLE 可以很好地做到这一点:

require 'win32ole'
outlook = WIN32OLE.new('Outlook.Application')
message = outlook.CreateItem(0)
message.Subject = "Hey look a subject!"
message.Body = "Yes this is dog"
message.Recipients.Add 'dog@dog.com'
message.Recipients.Add 'cat@dog.com'
message.Attachments.Add('C:\Path\To\File.txt')
#Want to save as a draft?
message.Save
#Want to send instead?
message.Send

这实际上在“使用 Ruby 自动化 Outlook:将邮件消息保存到文件”中得到了很好的记录,就像使用 Ruby 自动化其余窗口一样。

您可能遇到授权问题,如果出现,可以使用“ Outlook 高级安全性”解决。

于 2012-09-26T01:09:51.407 回答
0

如果 Outlook 帐户具有 Web 访问权限(通过 outlook.com 或 office365.com),您还可以使用Mikel Lindsaar 的 Ruby 电子邮件库。它适用于许多允许 POP3、IMAP4 或 SMTP 连接的不同电子邮件提供商。

我发布了一个条目,其中包含一些关于通过 Ruby 发送和接收 Outlook 电子邮件的示例代码,这可能会有所帮助。抱歉,我无法评论如何保存草稿。

于 2013-11-27T20:37:55.467 回答