调用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. Jquery_效果-隐藏显示、淡入淡出、滑动面板、简单的动画队列

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  2. MATLAB地图工具箱学习心得(一)关于地图分带投影的拼接

    关于matlab地图投影系列: MATLAB地图工具箱学习心得(二)设计可变参数和位置拾取的"放大镜"式投影程序 --- 本学期的地图投影课程已经结束了,这篇博客用于记录自己在学习 ...

  3. Centos 7防火墙策略配置指南

    Centos 7防火墙策略配置指南 -- 清听凌雪慕忆 @ 目录 1. 开启防火墙 1.1 user切换到root用户 1.2 查看防火墙服务状态 1.3 查看firewall的状态 1.4 启动/关 ...

  4. 好客租房54-props深入(children属性)

    children属性 表示组件标签的子节点 当组件标签有子节点是 props就会有该属性 props中的组件可以是任意属性 都是可以渲染的 //导入react     import React fro ...

  5. 从标准输入流中读取并执行shell指定函数

    巧妙的ohmytmux配置 看oh my tmux的配置,发现他们很巧妙的将配置和shell函数放到一个文件里 比如切换鼠标模式的相关配置和shell函数, # : << EOF # .. ...

  6. jeecgboot-vue3笔记(三)弹窗的使用

    需求描述 点击按钮,弹窗窗体(子组件),确定后在子组件中完成业务逻辑处理(例如添加记录),然后回调父组件刷新以显示最近记录. 实现步骤 子组件 子组件定义BasicModal <BasicMod ...

  7. 33个非常实用的JavaScript一行代码

    33个非常实用的JavaScript一行代码 一.日期处理 1. 检察日期是否有效 该方法用于检测给出的日期是否有效: const isDateValid = (...val) => !Numb ...

  8. 在 4GB 物理内存的机器上,申请 8G 内存会怎么样?

    作者:小林coding 计算机八股文刷题网站:https://xiaolincoding.com/ 大家好,我是小林. 看到读者在群里讨论这些面试题: 其中,第一个问题「在 4GB 物理内存的机器上, ...

  9. Ribbon的ServerStats引起内存泄露问题总结

    问题描述 服务运行一段时间之后,出现页面卡顿加载慢的问题,使用top命令查看了服务器的使用情况,发现CPU飙高,接着查看了该进程中每个线程的占用情况,发现导致CPU高的线程是JVM垃圾回收的线程,然后 ...

  10. 表达式的动态解析和计算,Flee用起来真香

    前言 在很多项目中经常会出现需要动态解析表达式和计算的场景,比如一些自动审核规则,或者是一些变量的值通过维护的公式在运行过程中动态算出:由于场景需求,都需要比较灵活的配置对应的表达式,然后希望在需要的 ...