调用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发邮件的更多相关文章

  1. python连接数据库自动发邮件

    python连接数据库实现自动发邮件 1.运行环境 redhat6 + python3.6 + crontab + Oracle客户端 2.用到的模块  3.操作步骤 (1)安装python3.6参考 ...

  2. Python自定义任务发邮件提醒

    前言 在工作中,有时会有一些定期需要执行的任务或在将来某一天需要执行的任务,为避免疏漏,设计个小工具,发邮件提醒自己去处理. 方案简介 1.建立一个Excel文件,里面定义好待提醒的任务 2.建立一个 ...

  3. EDM营销算法:python自动批量发邮件

    EDM营销:全称Email Direct Marketing,即电子邮件营销.企业可以通过使用EDM软件向目标客户发送EDM邮件,建立同目标顾客的沟通渠道,向其直接传达相关信息,用来促进销售.EDM软 ...

  4. Python 调用outlook发送邮件(转 )

    单账号: import win32com.client as win32 def send_mail(): outlook = win32.Dispatch('Outlook.Application' ...

  5. python之smtplib发邮件

    第一版: 认证发信,不支持附件 #!/usr/bin/env python # --------------------------------------- # author : Geng Jie ...

  6. python实现自动发邮件

    Python有两个内置库:smtplib和email,可以实现邮件功能,无需下载,直接import导入. smtplib库负责发送邮件 Email库负责构造邮件格式和内容 邮件发送需要遵守SMTP协议 ...

  7. Python学习笔记——发邮件

    参考:Python3实现163邮箱SMTP发送邮件 1.首先需要注册一个网易的邮箱,开启smtp服务,并使用其授权码 2.发送邮件的Python脚本 #!/usr/bin/python # -*- c ...

  8. 【python】使用python smtplib库发邮件添加cc,bcc

    #!/usr/bin/env python# -*- coding: utf-8 -*- '''@author@mail @date 2017/03/16 发送邮件'''import smtplibf ...

  9. python使用SMTP发邮件时使用Cc(抄送)和Bcc(密送)

    SMTP发送邮件的时候,并没有特殊的通信语句告诉邮件服务器 谁是主送,谁是抄送/密送,这三个角色都是以同样的方式告诉邮件服务器的,然后重点在邮件内容里. 邮件内容分为头和体两部分(就像http),头部 ...

随机推荐

  1. 『现学现忘』Git基础 — 8、Git创建本地版本库

    目录 1.Git版本库介绍 2.创建本地版本库 场景一:创建一个空的本地版本库. 场景二:项目中已存在文件时,创建该项目的本地版本库. 场景三:在GitHub网站上创建仓库,克隆到本地. 1.Git版 ...

  2. SpringCloud入门简述

    1.微服务简述 ​ 微服务,是一个小型的服务,也是一种设计理念,将一个大型繁杂的系统拆分为多个小型的服务,进行独立部署,这些服务在独立进程中运行,通过特定的协议进行通信 ​ 优点: 轻量化:一个服务不 ...

  3. OV5640图像采集(一)VGA显示

    vga控制器模块 1 引言  项目的背景是采集无人车间现场的工件图像并送往控制间pc端处理,最终实现缺陷检测.项目包括图像采集模块,数据传输模块,上位机,缺陷检测算法等四个部分.其中,图像采集模块又分 ...

  4. Spring 源码(4)在Spring配置文件中自定义标签如何实现?

    Spring 配置文件自定义标签的前置条件 在上一篇文章https://www.cnblogs.com/redwinter/p/16165274.html Spring BeanFactory的创建过 ...

  5. 一种O(n)时间复杂度的计数排序算法和Top N热词算法

    排序算法是研究非常广泛且超级经典的算法,主流排序算法的时间复杂度基本都在O(nlogn). 今天就介绍一种以hash表为基础的,时间复杂度能够达到O(n)的排序算法--计数排序: 同时基于它的思想,完 ...

  6. python 多进程共享全局变量之Manager()

    Manager支持的类型有list,dict,Namespace,Lock,RLock,Semaphore,BoundedSemaphore,Condition,Event,Queue,Value和A ...

  7. Bugku练习题---Crypto---聪明的小羊

    Bugku练习题---Crypto---聪明的小羊 flag:flag{6fde4163df05d900} 解题步骤: 1.观察题目,下载附件 2.根据题目描述,判断是栅栏密码,位移2位,白给题,上网 ...

  8. 【CSAPP】Bomb Lab实验笔记

    bomblab这节搞的是二进制拆弹,可以通俗理解为利用反汇编知识找出程序的六个解锁密码. 早就听闻BOMBLAB的大名,再加上我一直觉得反汇编是个很艰难的工作,开工前我做好了打BOSS心理准备.实际上 ...

  9. APP应用前端开发

    1.开发手机APP前端要重视meta标签的编写: 2.注意HTML5标签在前端开发中的使用: 3.前端制作要舍弃CSS float属性(可flex布局),用绝对定位不利于页面布局的扩展: 4.APP前 ...

  10. MPLS L3 跨域 optionB 配置

    mpls跨域optionB optionB的核心思想是私网路由传递过程是 PE-ASBR1-ASBR2-PE2 在传递过程中私网标签发生了变化(由ASBR重新分配了私网标签),而在数据平面(不考虑PH ...