调用Outlook发送邮件

需安装pypiwin32模块:pip install pypiwin32

1. 发送普通邮件

import win32com.client as win32

outlook = win32.Dispatch("outlook.Application")
mail = outlook.CreateItem(0) mail.SentOnBehalfOfName = "一株草" # 发件人(邮箱或账号)
mail.To = "12345@163.com" # 收件人
mail.CC = "666@qq.com;777@qq.com" # 抄送人
mail.Bcc = "888@qq.com;999@qq.com" # 秘密抄送人
mail.Subject = "标题-星空古路" # 邮件主题
mail.Body = "正文-神话,延续,北斗七星,紫薇。。。" # 邮件正文
mail.Importance = 2 # 重要性,高
mail.Attachments.Add(r"‪F:\Archer\picture\shaoshao.png") # 添加附件 mail.Send() # 发送

2. 发送HTML内容且带图片的邮件

import win32com.client as win32

outlook = win32.Dispatch("outlook.Application")
mail = outlook.CreateItem(0) mail.SentOnBehalfOfName = "一株草" # 发件人(邮箱或账号)
mail.To = "12345@163.com" # 收件人
mail.CC = "666@qq.com;777@qq.com" # 抄送人
mail.Bcc = "888@qq.com;999@qq.com" # 秘密抄送人
mail.Subject = "标题-星空古路" # 邮件主题 mail.BodyFormat = 2 # 2表示用Html format,可调整格式
# HTMLBody插入图片:先把要插入的图片当做一个附件添加,然后在HtmlBody中调用这个图片
mail.Attachments.Add(r"‪F:\Archer\picture\shaoshao.png") # 添加附件
mail.HtmlBody = """<body>
<div><img src="shaoshao.png"></div>
</body>
""" # 邮件正文
mail.Attachments.Add(r"‪F:\Archer\picture\yunyun.png") # 添加正常的附件 mail.Display() # 显示发送邮件界面
mail.Send() # 发送

注:1. 文件名不可用中文  2. 一定要把outlook的窗体展示出来,即Display()

3. 示例

import pythoncom
import win32com.client as win32 class SendMail:
"""调用Outlook发送邮件"""
def __init__(self):
self.outlook = win32.Dispatch("outlook.Application")
self.mail = self.outlook.CreateItem(0)
def send_mail(self):
self.mail.SentOnBehalfOfName = "一株草" # 发件人(邮箱或账号)
self.mail.To = "12345@163.com" # 收件人
self.mail.CC = "666@qq.com;777@qq.com" # 抄送人
self.mail.Subject = "标题-星空古路" # 邮件主题 self.mail.BodyFormat = 2 # 2表示用Html format,可调整格式
# HTMLBody插入图片:先把要插入的图片当做一个附件添加,然后在HtmlBody中调用这个图片
self.mail.Attachments.Add(r"‪F:\Archer\picture\shaoshao.png") # 添加附件
self.mail.HtmlBody = """<body>
<div><img src="shaoshao.png"></div>
</body>
""" # 邮件正文
self.mail.Attachments.Add(r"‪F:\Archer\picture\yunyun.png") # 添加正常的附件 self.mail.Display() # 显示发送邮件界面
self.mail.Send() # 发送 if __name__ == '__main__':
pythoncom.CoInitialize() # 线程初始化
SendMail().send_mail()
pythoncom.Couninitialize() # 释放资源

Python调用Outlook发邮件的更多相关文章

  1. python连接数据库自动发邮件

    python连接数据库实现自动发邮件 1.运行环境 redhat6 + python3.6 + crontab + Oracle客户端 2.用到的模块  3.操作步骤 (1)安装python3.6参考 ...

  2. Python自定义任务发邮件提醒

    前言 在工作中,有时会有一些定期需要执行的任务或在将来某一天需要执行的任务,为避免疏漏,设计个小工具,发邮件提醒自己去处理. 方案简介 1.建立一个Excel文件,里面定义好待提醒的任务 2.建立一个 ...

  3. EDM营销算法:python自动批量发邮件

    EDM营销:全称Email Direct Marketing,即电子邮件营销.企业可以通过使用EDM软件向目标客户发送EDM邮件,建立同目标顾客的沟通渠道,向其直接传达相关信息,用来促进销售.EDM软 ...

  4. Python 调用outlook发送邮件(转 )

    单账号: import win32com.client as win32 def send_mail(): outlook = win32.Dispatch('Outlook.Application' ...

  5. python之smtplib发邮件

    第一版: 认证发信,不支持附件 #!/usr/bin/env python # --------------------------------------- # author : Geng Jie ...

  6. python实现自动发邮件

    Python有两个内置库:smtplib和email,可以实现邮件功能,无需下载,直接import导入. smtplib库负责发送邮件 Email库负责构造邮件格式和内容 邮件发送需要遵守SMTP协议 ...

  7. Python学习笔记——发邮件

    参考:Python3实现163邮箱SMTP发送邮件 1.首先需要注册一个网易的邮箱,开启smtp服务,并使用其授权码 2.发送邮件的Python脚本 #!/usr/bin/python # -*- c ...

  8. 【python】使用python smtplib库发邮件添加cc,bcc

    #!/usr/bin/env python# -*- coding: utf-8 -*- '''@author@mail @date 2017/03/16 发送邮件'''import smtplibf ...

  9. python使用SMTP发邮件时使用Cc(抄送)和Bcc(密送)

    SMTP发送邮件的时候,并没有特殊的通信语句告诉邮件服务器 谁是主送,谁是抄送/密送,这三个角色都是以同样的方式告诉邮件服务器的,然后重点在邮件内容里. 邮件内容分为头和体两部分(就像http),头部 ...

随机推荐

  1. C语言超全学习路线(收藏让你少走弯路)

    刚入门是否觉得C语言很难?那可能是你还没找到正确的C语言学习路线,收藏以防找不到,让你少走弯路. 基本语法 选择控制语句 if,swith 循环控制语句 while,for 控制语句相关关键字分析 变 ...

  2. Android 12(S) 图像显示系统 - SurfaceFlinger 之 VSync - 中篇(十七)

    必读: Android 12(S) 图像显示系统 - 开篇 1 前言 这一篇文章,将继续讲解有关VSync的知识,前一篇文章 Android 12(S) 图像显示系统 - SurfaceFlinger ...

  3. 菜B的初来乍到。

    1.简单自我介绍 031702220:我是默默无闻的黄恒杰:我的爱好是健身:我最喜欢紫荆园的青椒炒肉:薛之谦的<其实>:苦心人天不负,三千越甲可吞吴. 2.阅读与思考 (1)回想一下你初入 ...

  4. vue - vue基础/vue核心内容(终结篇)

    今天是vue基础.vue核心内容第三天,也是最后一天,后面开始进入组件化学习,整个基础内容以生命周期的结束而结束,不得不说,张天禹把这节课讲活了,开始觉得vue是一个有生命的东西,包括前面所说的很多脏 ...

  5. 【hexo博客搭建】将搭建好的hexo博客部署到阿里云服务器上面(下)

    一.部署到阿里云服务器 既然博客也已经成功在本地部署,然后主题也成功安装,接下来就可以部署到服务器上面了,如果你也想要魔改matery主题,可以去各种博客上面找一找大佬的教程,或者联系我,也可以让你少 ...

  6. Apache Struts 2 漏洞汇总

    Apache Struts2 是一个基于MVC设计模式的Web应用框架,会对某些标签属性(比如 id)的属性值进行二次表达式解析,因此在某些场景下将可能导致远程代码执行. Struts2特征: 通过页 ...

  7. 操作系统实现-loader

    博客网址:www.shicoder.top 微信:18223081347 欢迎加群聊天 :452380935 大家好呀,终于我们到了操作系统的loader部分了,loader也是操作系统中最重要的一个 ...

  8. 【Java面试】Zookeeper中的Watch机制的原理?

    一个工作了7年的粉丝,遇到了一个Zookeeper的问题. 因为接触过Zookeeper这个技术,不知道该怎么回答. 我说一个工作了7年的程序员,没有接触过主流技术,这不正常. 于是我问了他工资以后, ...

  9. MySQL基准测试工具

    一.基准测试 基准测试(benchmark)是针对系统设计的一种压力测试. 基准测试是简化了的压力测试. 1.1 常见指标 TPS QPS 响应时间 并发量 1.2 收集与分析数据脚本 收集数据的sh ...

  10. 修改Docker容器默认时区

    运行docker容器默认时区为0区 # 运行一个nginx服务器 docker run -d -p 80:80 --name nginx nginx # 进入容器shell docker exec - ...