Python 调用outlook发送邮件(转 )

摘要:
单个帐户:importwin32com。clientaswin32defsend_mail():outlook=win32.Dispatch('outlook.Application')mail_item=outlook。CreateItem(0)#0:olMailItemmail_item.Recipients。添加('test@test.com')mail_item.Subject='邮件

单账号:

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@test.com')
    mail_item.Subject = 'Mail Test'

    mail_item.BodyFormat = 2          # 2: Html format
    mail_item.HTMLBody  = '''
        <H2>Hello, This is a test mail.</H2>
        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@hotmail.com':
            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@qq.com')
    mail_item.Subject = 'Test sending using particular account'
    mail_item.BodyFormat = 2   # 2: Html format
    mail_item.HTMLBody = '''
        <H2>Hello, This is a test mail.</H2>
        Hello Guys. 
        '''

    mail_item.Send()


if __name__ == '__main__':
    send_mail()  

详细参见原文https://www.jianshu.com/p/4f0ed762f521 

给多个地址发邮件:

import win32com.client as win32
import pythoncom

pythoncom.CoInitialize()


def send_mail(**kwargs):
    outlook = win32.Dispatch('Outlook.Application')
    reciList = ['user1@test.com','user2@test.com']
    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  = '''
            <H2>Hello, This is a test mail~~.</H2>
            Hello Guys. '''

        # mail_item.Attachments.Add('d:docIT Info.xlsx')    
        mail_item.Send()

if __name__ == '__main__':
    send_mail()

  

免责声明:文章转载自《Python 调用outlook发送邮件(转 )》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇OCTAVE画图eclipse 灵活使用makefile来编译C/C++下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python+Apache环境搭建

Python+Apache环境搭建 Python+apache搭建时需要apache拓展mod_wsgi模块,apache启动时自动加载mod_wsgi模块,通过mod_wsgi与python通信,实现python部署在apache上。 安装 1.下载源码包mod_wsgi 2.解压缩mod_wsgi包 tar zxvf mod_wsgi-4.6.8.t...

Werkzeug教程

http://chaoxz2005.blog.163.com/blog/static/15036542012863405266/ http://www.dajo.com.cn/a/boke/python/2013/1125/146.html 这里我们将会创建一个仿制TinyURL的应用,将URLs存储到一个redis实例。为了这个应用,我们将会使用的库包括...

python读取数据库表数据并写入excel

一个简单的使用python读取mysql数据并写入excel中实例 1、python连接mysql数据库 conn = pymysql.connect(user='root',host='127.0.0.1',port=3306,passwd='root',db='python',charset='utf8') #连接数据库 cur = conn.cur...

Python-元组(tuple),文件

基础: 1. 元组由简单对象组构成。 2. 元组与列表类似,不过不能在原处修改(它们是不可变的),并且通常写成圆括号(),而不是方框号[]中的一系列项。 ========================================================================== >>> (1,2) + (3,4)...

python的导包问题

有事会遇到在python代码中导入包错误问题,本文简单对python包的引入做简单介绍 简单说,我认为python导包一共有3种情况,分别是: 要导的包与当前文件在同一层要导的包在当前文件的底层(就是与当前文件夹同级的文件夹里)要导的包在当前文件的上层 1、要导的包与当前文件在同一层 use.py source.py use.py表示包的调用方,sou...

python之tkinter使用-Grid(网格)布局管理器

1 # 使用tkinter编写登录窗口 2 # Grid(网格)布局管理器会将控件放置到一个二维的表格里,主控件被分割为一系列的行和列 3 # stricky设置对齐方式,参数N/S/W/E分别表示上、下、左、右 4 # columnspan:指定控件跨越多列显示 5 # rowspan:指定控件跨越多行显示 6 # padx、pad...