使用WIN32OLE更改电子邮件的来源

时间:2016-08-12 21:07:00

标签: ruby email outlook win32ole

有没有办法使用win32ole更改电子邮件的来源?

outlook = WIN32OLE.new('Outlook.Application')
message = outlook.CreateItem(0)
message.Subject = 'Test email'
message.Body = 'This is the test body'
message.To = 'test@test.test'
message.From = ''me@me.me' #<= This doesn't work
message.Save
message.Send

当您运行message.From时,您会收到以下错误:

WIN32OLERuntimeError: unknown property or method: `From'
    HRESULT error code:0x80020006
      Unknown name.

那么有什么方法可以选择从哪个发送消息?

1 个答案:

答案 0 :(得分:1)

通过Exchange发送时,请使用SentOnBehalfOfName属性。它应包含代表当前用户可以发送的其他Exchange用户的名称。您当然需要有权代表该用户发送。

通过SMTP发送时,请设置MailItem.SendUsingAccount属性。必须将其设置为从Account集合中检索到的Namespace.Accounts个对象之一。