我可以访问第二个电子邮件帐户,并且我想使用此电子邮件发送自动电子邮件。我已经尝试过 THIS 和 THIS 但它仍然使用我的主帐户而不是第二个帐户发送邮件。我正在使用 python 和 Outlook。
这是我的代码:
import os
import csv
def Emailer(message, subject, recipient, anrede, name):
import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = recipient
mail.Subject = subject
mail.GetInspector
header = 'MyHeader'
message = 'MyHTMLMessage'
index = mail.HTMLbody.find('>', mail.HTMLbody.find('<body'))
mail.HTMLbody = "<font size=-1 face='Arial'>" + mail.HTMLbody[:index + 1] + header + message + mail.HTMLbody[index + 1:]
mail.send
with open('Komplette Liste.csv', 'rb') as csvfile:
reader = csv.reader(csvfile, delimiter=';')
csv_list = list(reader)
row_count = sum(1 for row in csv_list)
for i in range(1,row_count):
unternehmen = str(csv_list[i][0])
mail_address = str(csv_list[i][7])
name = str(csv_list[i][8])
infomail_count = infomail_count + 1
print(mail_address)
Emailer("", "My Subject", "MailTo")
非常感谢您的帮助!
您可以尝试以下代码:
import win32com.client
o = win32com.client.Dispatch("Outlook.Application")
oacctouse = None
for oacc in o.Session.Accounts:
if oacc.SmtpAddress == "[email protected]":
oacctouse = oacc
break
#print oacc
#dir(oacc)
#oacc.CLSID
#oacc.GetAddressEntryFromID
Msg = o.CreateItem(0)
if oacctouse:
Msg._oleobj_.Invoke(*(64209, 0, 8, 0, oacctouse)) # Msg.SendUsingAccount = oacctouse
Msg.To="[email protected]"
Msg.HTMLBody = "test env instance #"
Msg.Send()
欲了解更多信息,请参阅此链接:
尝试使用 mail.SentOnBehalfOfName = '[电子邮件受保护]'
这有效!:
mail.SentOnBehalfOfName = '[电子邮件受保护]'