Python调用Outlook发邮件

2022/7/3 14:19:28

本文主要是介绍Python调用Outlook发邮件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

调用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发邮件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程