在python 3中更改发件人帐户ms outlook

在python 3中更改发件人帐户ms outlook,outlook,python-3.6,pywin32,Outlook,Python 3.6,Pywin32,我在ms outlook中有2个帐户user1@test.com“-默认配置文件,”user2@test.com),我正试图通过python使用非默认帐户发送一条消息。这是我的密码: Import win32com.client app = win32com.client.Dispatch('Outlook.application') mess = app.CreateItem(0) mess.to = 'user2@test.com' mess.subject = 'hi' mess.Sen

我在ms outlook中有2个帐户user1@test.com“-默认配置文件,”user2@test.com),我正试图通过python使用非默认帐户发送一条消息。这是我的密码:

Import win32com.client
app = win32com.client.Dispatch('Outlook.application')

mess = app.CreateItem(0)
mess.to = 'user2@test.com'
mess.subject = 'hi'
mess.SendUsingAccount = 'user2@test.com'
mess.Send()
以及从帐户“”发送的outlookuser1@test.com'不是来自'user2@test.com'. 如何更改帐户?

该属性允许设置一个对象,该对象表示要发送
邮件项的帐户

import win32com.client

o = win32com.client.Dispatch("Outlook.Application")
oacctouse = None
for oacc in o.Session.Accounts:
    if oacc.SmtpAddress == "user2@test.com":
        oacctouse = oacc
        break
Msg = o.CreateItem(0)
if oacctouse:
    Msg._oleobj_.Invoke(*(64209, 0, 8, 0, oacctouse))  # Msg.SendUsingAccount = oacctouse

if to:
    Msg.To = ";".join(to)
if cc:
    Msg.CC = ";".join(cc)
if bcc:
    Msg.BCC = ";".join(bcc)

Msg.HTMLBody = ""

Msg.Send()

Eugene,当我尝试查看Session.Accounts时,只有一封电子邮件,但当我转到outlook应用程序时,有两封电子邮件,无论如何,我尝试手动设置OACCOUSE如果我使用未注释的代码,我会收到此错误(com_错误:(-2147352571,'类型不匹配',无,1)),如果我尝试注释的代码,这会使用我的主电子邮件,有任何线索吗?