【问题标题】:What's the easiest way to send a message through Outlook with Ruby?使用 Ruby 通过 Outlook 发送消息的最简单方法是什么?
【发布时间】:2012-09-17 13:45:54
【问题描述】:

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

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

【问题讨论】:

    标签: ruby outlook win32ole


    【解决方案1】:

    假设 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”解决。

    【讨论】:

    【解决方案2】:

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

    我在sending and receiving Outlook email via Ruby 上发布了一个包含一些示例代码的条目,这可能会有所帮助。抱歉,我无法评论如何保存草稿。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      • 2010-09-19
      相关资源
      最近更新 更多