2015-05-14 3 views
0

У меня был код, который был написан для пользователей электронной почты для пользователей, когда определенные процессы завершили работу. Это было отправлено из учетной записи gmail, используя SMTP.Отправить письмо со специальной учетной записи Outlook через Python?

Однако мой руководитель хочет, чтобы почта была отправлена ​​с официального адреса отдела, а это значит, что у меня есть Outlook и MAPI. У меня была создана учетная запись, в которой я хочу, чтобы сообщение электронной почты происходило независимо от лабораторной машины, на которой выполняется задание. Проблема в том, что я могу отправлять электронную почту только из локальной учетной записи Outlook, а не у всех лабораторных машин есть локальная учетная запись.

import win32com.client as win32 
outlook = win32.Dispatch('outlook.application') 
mail = outlook.CreateItem(0) 
mail.To = '[email protected]' 
mail.Subject = 'Message Subject' 
mail.body = 'Message text. Message text' 
mail.send 

Конечно, есть способ, чтобы указать имя пользователя/пароль/сервер, который я хочу электронную почту для отправки из?

ответ

1

Объектная модель Outlook не предоставляет ничего для настройки профилей. Однако, если у вас есть учетная запись, настроенная в Outlook, вы можете найти свойство SendUsingAccount класса MailItem полезным. Он позволяет установить объект Account, который представляет собой учетную запись, по которой должен отправляться MailItem.

Вы можете найти следующие ссылки полезны:

1

Как Евгений предложил, вы можете вручную создать POP3/SMTP аккаунт и назначить его на MailItem. SendUsingAccount до вызова Send, или вы можете динамически создать новую учетную запись POP3/SMTP, используя Redemption и ее метод RDOSession.Accounts.AddPOP3Account.

Смежные вопросы