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