Python 调用outlook发送邮件(转 )
单账号:
import win32com.client as win32 def send_mail():
outlook = win32.Dispatch('Outlook.Application') mail_item = outlook.CreateItem(0) # 0: olMailItem mail_item.Recipients.Add('test@test.com')
mail_item.Subject = 'Mail Test' mail_item.BodyFormat = 2 # 2: Html format
mail_item.HTMLBody = '''
<H2>Hello, This is a test mail.</H2>
Hello Guys.
'''
mail_item.Attachments.Add('<附件文件路径>')
mail_item.Send() if __name__ == '__main__':
send_mail()
多账号:
def send_mail():
outlook_app = win32.Dispatch('Outlook.Application') # choose sender account
send_account = None
for account in outlook_app.Session.Accounts:
if account.DisplayName == 'sender@hotmail.com':
send_account = account
break mail_item = outlook_app.CreateItem(0) # 0: olMailItem # mail_item.SendUsingAccount = send_account not working
# the following statement performs the function instead
mail_item._oleobj_.Invoke(*(64209, 0, 8, 0, send_account)) mail_item.Recipients.Add('receipient@qq.com')
mail_item.Subject = 'Test sending using particular account'
mail_item.BodyFormat = 2 # 2: Html format
mail_item.HTMLBody = '''
<H2>Hello, This is a test mail.</H2>
Hello Guys.
''' mail_item.Send() if __name__ == '__main__':
send_mail()
详细参见原文https://www.jianshu.com/p/4f0ed762f521
给多个地址发邮件:
import win32com.client as win32
import pythoncom pythoncom.CoInitialize() def send_mail(**kwargs):
outlook = win32.Dispatch('Outlook.Application')
reciList = ['user1@test.com','user2@test.com']
for i in range(len(reciList)):
mail_item = outlook.CreateItem(0) # 0: olMailItem
mail_item.Recipients.Add(reciList[i])
mail_item.Subject = 'Mail Test'
mail_item.BodyFormat = 2 # 2: Html format
mail_item.HTMLBody = '''
<H2>Hello, This is a test mail~~.</H2>
Hello Guys. ''' # mail_item.Attachments.Add('d:\doc\IT Info.xlsx')
mail_item.Send() if __name__ == '__main__':
send_mail()
Python 调用outlook发送邮件(转 )的更多相关文章
- VBS调用OUTLOOK发送邮件,windows计划任务定时拉起VBS调用OUTLOOK发送邮件
OUTLOOK有延迟传递功能,可延迟传递的发送邮件在功能设计时(mircosoft的support帮助页的解释)就是邮件发送时的时间而不是邮件发送成功后的时间.比如早上10点发一封11点后的延迟传递邮 ...
- Python调用Outlook发邮件
调用Outlook发送邮件 需安装pypiwin32模块:pip install pypiwin32 1. 发送普通邮件 import win32com.client as win32 outlook ...
- C# 调用 Outlook发送邮件实例
添加引用:Microsoft.Office.Interop.Outlook using System; using System.Collections.Generic; using System.L ...
- 调用Outlook发送邮件
#region 查找与指定文件关联在一起的程序的文件名 /// <summary> /// 查找与指定文件关联在一起的程序的文件名 /// </summary> /// < ...
- C#调用Outlook来发送邮件
原文:C#调用Outlook来发送邮件 写了一个简单的Windows Form程序,实现利用Outlook来发送电子邮件的功能.下面逐步讲解如何实现,再加上具体的代码. 打开VS2010, 新建一个W ...
- .net调用Outlook 批量发送邮件,可指定Outlook中的账号来发送邮件
.net调用Outlook 批量发送邮件,可指定Outlook中的账号来发送邮件 源码可以在我的资源列表中下载: MPOEMail http://download.csdn.net/my VS2012 ...
- 使用python调用email模块发送邮件附件
使用python调用email模块实现附件发送 需要模块: import datetime import time import sys import mimetypes import smtplib ...
- C#中调用Outlook API 发起会议
原文:C#中调用Outlook API 发起会议 在我上一篇博文中曾提到了 SharePoint 中调用传出电子邮件中的邮件服务器及地址发送邮件 但是,里面的方法只能用于发送普通电子邮件.如果要发起会 ...
- python使用smtplib发送邮件
python要实现发送邮件的功能,需要使用smtplib库. 1. 过程大致如下: 1. 建立和SMTP邮件服务器的连接 # 默认端口25 smtp = smtplib.SMTP(host, port ...
随机推荐
- 纪念一下,时隔多年,继delphi上成功运行sql之后
纪念一下,时隔多年,继delphi上成功运行sql之后,在linux上用eclipse成功运行Wordcount程序,不容易呀,折腾了十几天 但我知道,这仅仅是我学习大数据的一个开始,仅此纪念一下,不 ...
- C++自问
1.forwarding reference 2.move 3. map的内部实现 rb tree,但rbtree优点是什么?使用情况?和b+有啥区别? 4.顺序容器和关联容器的区别: 本质区别是顺序 ...
- Docker部署code-server
Docker部署code-server 版本:codercom/code-server:v2 code-server可以放在服务器上,随时随地在浏览器中,编写代码.运行.调试: 手机,pad都可以进行 ...
- bond模式详解
目录 bond模式详解 一.什么是bond? 二.为什么使用bond? 三.bond模式配置 1.配置linux bond 2.将bond绑定到ovs上面(可选) 四.bond模式 1.模式0 2.模 ...
- Linux下的帮助命令(man/help/info)
1.man 帮助命令 用法 man(选项)(参数) 选项 -a:在所有的man帮助手册中搜索: -f:等价于whatis指令,显示给定关键字的简短描述信息: -P:指定内容时使用分页程序: -M:指定 ...
- python 学习笔记_3 输入字母,打印出要输入的星期几; 首字母无效,则继续输入,最多2次即可判断结果;否则退出。
#coding=gbk ''' 输入字母,打印出要输入的星期几: 首字母无效,则继续输入,最多2次即可判断结果:否则退出. ''' week_list=['monday','tuesday','wed ...
- 笔记本电脑安装jupyterthemes
上午准备在老笔记本上也装上jupyter themes,竟然遇到一堆问题: 首先直接 pip install jupyterthemes 参考:https://blog.csdn.net/Jinlon ...
- python zipfile使用
the Python challenge中第6关使用到zipfile模块,于是记录下zipfile的使用 zip日常使用只要是压缩跟解压操作,于是从这里入手 1.压缩 f=zipfile.ZipFil ...
- springboot项目上有个红叉,且ecplise没有自动编译项目,运行提示“错误: 找不到或无法加载主类”
近期在做springboot项目,发现springboot项目上有个红叉但找不到哪个类报错,ecplise没有把项目自动编译,运行还提示“错误: 找不到或无法加载主类”,进入工作空间“项目\targe ...
- 洛谷P1169 棋盘制作【悬线法】【区间dp】
题目:https://www.luogu.org/problemnew/show/P1169 题意:n*m的黑白格子,找到面积最大的黑白相间的正方形和矩形. 思路:传说中的悬线法!用下面这张图说明一下 ...