Python学习之八_调用Outlook发送邮件以及调用远程windows上面的python


摘要

之前只有一个需求是发送加密邮件.
之前一直是使用linux进行发送.但是总是无法发送加密邮件.
最近学习python, 发现可以使用 python来调用outlook来发送邮件.
这样就比较简单了.
可以直接使用outlook的加密处理.
但是我们这边只有windows的outlook客户端. linux发送的话还稍微复杂一点.
这里准备总结一下循序渐进的处理

邮件发送与准备

需要安装一个模块 pywin32
注意很多模块名安装与代码里面是不一样的. 安装好pywin32之后就可以进行部分参数的设置.
注意这里学习自:
https://blog.csdn.net/qq_42692386/article/details/118226919

编写简单代码

# coding=utf-8
import win32com.client as win32 outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = 'zhaobsh@inspur.com' #收件人
mail.CC = 'zhaobsh@inspur.com' # 抄送人
mail.Bcc ='zhaobsh@inspur.com' #密抄收件人
mail.Subject = '测试python' #邮件主题
mail.Body = '这是一封测试邮件' #邮件正文
mail.Importance = 2 #设置重要性为高
mail.Attachments.Add(r'F:\dbcomparetools\sudbcomparetools\sudbcompare使用说明.pdf') #添加附件
mail.Send() #发送

Python调用其他Windows机器执行命令-环境设置

第一步需要打开被调用机器的wsman进行服务使用
学习的网页为:
https://blog.csdn.net/Together_CZ/article/details/86623977#comments_12356187
主要步骤是
被调用的机器 使用管理员打开 powershell
然后执行命令
注意:需要在被控机上开启以下服务: #针对winrm service 进行基础配置:
winrm quickconfig
#查看winrm service listener:
winrm e winrm/config/listener
#为winrm service 配置auth:
winrm set winrm/config/service/auth '@{Basic="true"}'
#为winrm service 配置加密方式为允许非加密:
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
winrm set winrm/config/Client '@{AllowUnencrypted="true"}'

安装必备的组件以及执行源端机器的python脚本

pip install pywinrm
可以在pycharm里面进行安装. 在其他机器执行命令如下:
# coding=utf-8
from winrm.protocol import Protocol p = Protocol(
endpoint='http://10.110.xxx.xxxx:5985/wsman',
transport='ntlm',
username=r'administrator',
password='Mypassword',
server_cert_validation='ignore')
shell_id = p.open_shell()
command_id = p.run_command(shell_id, b'python D:/pythonProjects/zhaobsh.py', ['/all'])
std_out, std_err, status_code = p.get_command_output(shell_id, command_id)
p.cleanup_command(shell_id, command_id)
print(std_out, status_code)
p.close_shell(shell_id)

调用cmd的计划下一节进行学习.

Python学习之八_调用Outlook发送邮件以及调用远程windows上面的python的更多相关文章

  1. 在Windows 上的 Python

    在 Windows 上, 安装 Python 有两种选择. ActiveState 制作了一个 Windows 上的 Python 安装程序称为 ActivePython, 它包含了一个完整的 Pyt ...

  2. VBS调用OUTLOOK发送邮件,windows计划任务定时拉起VBS调用OUTLOOK发送邮件

    OUTLOOK有延迟传递功能,可延迟传递的发送邮件在功能设计时(mircosoft的support帮助页的解释)就是邮件发送时的时间而不是邮件发送成功后的时间.比如早上10点发一封11点后的延迟传递邮 ...

  3. 如何在Windows上使用Python进行开发

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 一直以来C#都是微软在编程语言方面最为显著的Tag,但时至今日Python ...

  4. windows 上执行python pywin32.exe

    大家熟知的python脚本可以在linux系统上直接运行,因为linux上会安装python编译器 然而windows不会安装,如果想要别人直接运行你发布的python脚本,一种方法是在他的windo ...

  5. windows上,python安装非官方包,提示error: Unable to find vcvarsall.bat

    在windows机器上安装python非官方包,如果环境只是用于开发,不作任何测试的话,最好的解决办法是: 在Linux上pip安装好之后,把python根目录lib/python3.6/site-p ...

  6. 在 Windows 上使用 Python 进行 web 开发

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 上一篇我们介绍了在Windows 10下进行初学者入门开发Python的指 ...

  7. windows上安装python虚拟环境

    一.windows上安装python虚拟环境 1.安装pip install virtualenvvirtualenv --version 2.新建一个python虚拟环境virtual_env_01 ...

  8. 【Python学习之八】设计模式和异常

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.设计模式1.单例模式确保某一个类只有一个实例, ...

  9. Python学习:9.模块的安装以及调用模块

    什么是模块 在Python中,模块其实也就是包含python代码的文件,我们为什么要使用模块?在我们以后写代码的时候,我们会发现有很多功能需要经常使用,那我们想要使用这些功能怎么办,要再把那些代码在敲 ...

  10. Python学习笔记_我的参考网址

    Python学习笔记, 下面记录网上搜到的可参考的网址: 一.关于Tkinter 1.Python3中tkinter模块使用方法详解 https://blog.csdn.net/Fighting_Bo ...

随机推荐

  1. vue 遍历的汉字显示不同的颜色

    <template> <div> <div class="stars"> <span v-for="(star, index) ...

  2. MySQL进阶篇:详解索引使用_最左前缀法则

    MySQL进阶篇:第四章_四.一_ 索引使用_最左前缀法则 最左前缀法则 如果索引了多列(联合索引),要遵守最左前缀法则.最左前缀法则指的是查询从索引的最左列开始,并且不跳过索引中的列.如果跳跃某一列 ...

  3. 从热爱到深耕,全国Top10开源软件出品人探索“开源云上行”

    本文分享自华为云社区<[先锋开发者云上说]从热爱到深耕,全国Top10开源软件出品人探索"开源云上行">,作者:华为云社区精选. <2022-2023 中国开源开 ...

  4. 超详细的jQuery的 DOM操作,一篇就足够!

    摘要:今天来和大家分享有关jQuery框架中DOM操作的相关技术,又是一个堪称DOM"全家桶"系列的讲解,建议收藏关注认真学习! 本文分享自华为云社区<[JQuery框架]超 ...

  5. SQL Server 项目中 SQL 脚本更新、升级方式,防止多次重复执行

    MySQL 项目中 SQL 脚本更新.升级方式,防止多次重复执行 Oracle 项目中 SQL 脚本更新方式 一套代码,多家部署时,在SQL脚本升级时,通过一个SQL文件给运维,避免出现SQL执行序顺 ...

  6. 【QT Tools】软件多语言国际化翻译的方法与步骤

    在Qt的项目开发过程中,有时软件要翻译成多语言版本,这就涉及到国际化方面的操作.虽然Qt对这方面集成了很多工具,操作起来比较方便,本文还是总结一下国际化的方法和步骤,用以备忘和参考. 我们通常在写程序 ...

  7. Mac 配置 OpenCV C++ 版本

    今天紀錄一下如何在 Mac 上安裝 OpenCV for C++ 開發環境 使用 Brew 安装,pkgconfig 检测,2023.5.17 Mac x86 ( Intel ) , Mac M1 ( ...

  8. SQL常用日期格式化转换与百分数转换

    目录 SQL将小数转为保留两位的百分数 常用的日期格式化 补充: 秒/毫秒转为持续时间 常用拼接方式: 本篇开启数据库在工作中常用到的格式转换与工具,欢迎大家评论留言 SQL将小数转为保留两位的百分数 ...

  9. 如果很好说出finalize用法,面试官会认为你很资深

    我在面试Java候选人的时候,有时候会通过finalize问及候选人在JVM方面的技能,一般的问法是:你知不知道finalize方法,在项目里有没有重写过这个方法?在本文里就将详细来说下这个知识点. ...

  10. 安全情报 | Pypi再现窃密攻击投毒

    概述 悬镜安全自研的开源组件投毒检测平台通过对主流开源软件仓库(包括Pypi.NPM.Ruby等)发布的组件包进行持续性监控和自动化代码安全分析,同时结合专家安全经验复审,能够及时发现组件包投毒事件并 ...