Python:使用另一个邮箱发送电子邮件

时间:2019-02-18 08:52:58

标签: python outlook send inbox

我的Outlook上有三个邮箱。如何通过Python发送电子邮件时使用其他邮箱?以下脚本当前使用我的主收件箱= jgliban@ims.com。如何在脚本中发送电子邮件时使用其他邮箱(jgliban@iqvia.com)?

import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.GetInspector
mail.To = 'jgliban@ims.com'
mail.CC = 'jgliban@ims.com'
mail.Subject = 'Test Email'
index = mail.HTMLbody.find('>', mail.HTMLbody.find('<body')) 
mail.HTMLbody = mail.HTMLbody[:index + 1] + 'Hello,<br> <br>This is a test email<br><br>Many thanks and kind regards. ' + mail.HTMLbody[index + 1:]
mail.Send()

2 个答案:

答案 0 :(得分:1)

我本来建议使用SMTP,但是由于您已经在使用win32连接到Outlook应用程序,也许这会有所帮助?

Need to switch accounts in outlook using python for sending email using other account

通过链接中的答案:

  

设置MailItem.SendUsingAccount属性。

编辑:嗯。它在注释中给出:

import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
for acc in outlook.Session.Accounts:
    print (acc)
    if str(acc) == 'jgliban@iqvia.com':
        mail.SendUsingAccount = acc

答案 1 :(得分:0)

如果它是Exchange邮箱,请将MailItem.SentOnBehalfOfName属性设置为委托邮箱的名称。