我的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()
答案 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
属性设置为委托邮箱的名称。