调用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() # 释放资源

最新文章

  1. CREATE TABLE 表名 AS SELECT 语句
  2. Angular2 指令
  3. Allegro 导入DXF文件,保留布好的线路信息
  4. Spring Cache 介绍
  5. java中如何将字符串数组转换成字符串(转)
  6. about java techelogly
  7. Android读取assets目录下的资源
  8. 关于in与exists的效率讨论
  9. 乐在其中设计模式(C#) - 代理模式(Proxy Pattern)【转】
  10. FTP服务器中文环境引起润日下载不了附件问题解析
  11. SQL Server Database 维护计划创建一个完整的备份策略
  12. java web:在eclipse中如何创建java web 项目
  13. Unity 3D 之贪吃蛇 Text 心得 &amp; Audio
  14. 代理模式(Proxy)
  15. bzoj2819 DFS序 + LCA + 线段树
  16. Git使用—第一讲:初识版本控制工具
  17. SpringMVC中参数接收
  18. ssh-copy-id命令解析
  19. Windows server 2012-remoteapp RDWEB修改默认端口
  20. eclipse加入c标签

热门文章

  1. jsp第六次作业
  2. v-show与v-if的一次事故
  3. Halo 开源项目学习(六):事件监听机制
  4. tuandui last
  5. CentOS 7 执行 yum 命令失败问题的排查方法
  6. Spring 源码(9)Spring Bean的创建过程的前期准备
  7. Wireshark抓包分析TCP“三次握手,四次挥手”
  8. 『现学现忘』Git基础 — 25、git log命令参数详解
  9. 百万数据 mysql count(*)优化
  10. 445. Add Two Numbers II - LeetCode