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

 

原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/tech/python/272779.html

(0)
上一篇 2022年7月9日 11:28
下一篇 2022年7月9日 11:52

相关推荐

发表回复

登录后才能评论