通过Python从特定的Outlook帐户发送电子邮件?

问题描述:

我有一些代码写在电子邮件实验室用户每当某些进程已完成运行。这是使用SMTP从Gmail帐户发送的。通过Python从特定的Outlook帐户发送电子邮件?

然而,我的上司想从官方部门的地址,这意味着我必须使用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 

当然有一种方法可以指定我想要发送电子邮件的用户名/密码/服务器吗?

Outlook对象模型不提供任何配置配置文件。但是,如果您在Outlook中配置了帐户,则可能会发现MailItem类的SendUsingAccount属性很有用。它允许设置一个Account对象,该对象表示MailItem要发送到的帐户。

您可能会发现下面的链接有用:

正如尤金建议,您可以手动创建一个POP3/SMTP帐户,并将其分配到的MailItem。 SendUsingAccount属性,或者您可以使用Redemption及其RDOSession.Accounts.AddPOP3Account方法动态创建新的POP3/SMTP帐户。