使用Ruby通过Outlook发送消息的最简单方法是什么?

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

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

假设存储了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自动化其余窗口一样。

您可能遇到授权问题,如果出现问题,可以使用“ Advanced Security for Outlook ”解决。

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

我发布了一个带有一些示例代码的条目, 通过Ruby发送和接收Outlook电子邮件可能有所帮助。 对不起,我无法评论如何保存草稿。