Изменить учетную запись отправителя MS Outlook в Python 3 - PullRequest
0 голосов
/ 14 октября 2019

У меня есть 2 аккаунта в ms outlook ('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()

И прогноз отправляется с аккаунта user1@test.com, а не с user2@test.com. Как сменить аккаунт?

1 Ответ

1 голос
/ 14 октября 2019

Свойство MailItem.SendUsingAccount позволяет установить объект Учетная запись , представляющий учетную запись, под которой должна отправляться MailItem.

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()
...