1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > python用outlook自动发邮件_Python 调用outlook发送邮件(转 )

python用outlook自动发邮件_Python 调用outlook发送邮件(转 )

时间:2020-06-17 19:15:25

相关推荐

python用outlook自动发邮件_Python 调用outlook发送邮件(转 )

单账号:

import win32com.client as win32

def send_mail():

outlook = win32.Dispatch('Outlook.Application')

mail_item = outlook.CreateItem(0) # 0: olMailItem

mail_item.Recipients.Add('test@')

mail_item.Subject = 'Mail Test'

mail_item.BodyFormat = 2 # 2: Html format

mail_item.HTMLBody = '''

Hello, This is a test mail.

Hello Guys.

'''

mail_item.Attachments.Add('<附件文件路径>')

mail_item.Send()

if __name__ == '__main__':

send_mail()

多账号:

def send_mail():

outlook_app = win32.Dispatch('Outlook.Application')

# choose sender account

send_account = None

for account in outlook_app.Session.Accounts:

if account.DisplayName == 'sender@':

send_account = account

break

mail_item = outlook_app.CreateItem(0) # 0: olMailItem

# mail_item.SendUsingAccount = send_account not working

# the following statement performs the function instead

mail_item._oleobj_.Invoke(*(64209, 0, 8, 0, send_account))

mail_item.Recipients.Add('receipient@')

mail_item.Subject = 'Test sending using particular account'

mail_item.BodyFormat = 2 # 2: Html format

mail_item.HTMLBody = '''

Hello, This is a test mail.

Hello Guys.

'''

mail_item.Send()

if __name__ == '__main__':

send_mail()

给多个地址发邮件:

import win32com.client as win32

import pythoncom

pythoncom.CoInitialize()

def send_mail(**kwargs):

outlook = win32.Dispatch('Outlook.Application')

reciList = ['user1@','user2@']

for i in range(len(reciList)):

mail_item = outlook.CreateItem(0) # 0: olMailItem

mail_item.Recipients.Add(reciList[i])

mail_item.Subject = 'Mail Test'

mail_item.BodyFormat = 2 # 2: Html format

mail_item.HTMLBody = '''

Hello, This is a test mail~~.

Hello Guys. '''

# mail_item.Attachments.Add('d:\doc\IT Info.xlsx')

mail_item.Send()

if __name__ == '__main__':

send_mail()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。