有没有办法使用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.
那么有什么方法可以选择从哪个发送消息?
答案 0 :(得分:1)
通过Exchange发送时,请使用SentOnBehalfOfName
属性。它应包含代表当前用户可以发送的其他Exchange用户的名称。您当然需要有权代表该用户发送。
通过SMTP发送时,请设置MailItem.SendUsingAccount
属性。必须将其设置为从Account
集合中检索到的Namespace.Accounts
个对象之一。