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

标签 ruby outlook win32ole

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

显然 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

这实际上在“Automating Outlook with Ruby: Saving Mail Messages To Files”中有很好的记录,就像使用 Ruby 自动化其余窗口一样。

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

关于ruby - 使用 Ruby 通过 Outlook 发送消息的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12593166/

相关文章:

Ruby super 不敏感的正则表达式,用于将学校名称与重音符号和其他变音符号匹配

c# - vsto + 无法从 RTF 电子邮件中获取附件的文件名

c# - 为什么 ItemAdd 事件在我的“已发送邮件”文件夹中停止处理?

ruby - 如何从 YAML 文件动态设置对象属性?

ruby - 输出到控制台,同时在 ruby​​ 中保留用户输入

c++ - 为什么 Cocoapods 将保留的文件添加到编译中?

excel - 从未读电子邮件中复制数据并标记为已读

windows - 使用Ruby 永久地(即在注册表中)设置环境变量?

excel - Excel 中的文本框控件 - 如何在 Perl 中引用

perl - 范围对象在 Excel 中的位置