调用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() # 释放资源
原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/tech/python/272779.html