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. nacos系列:spring cloud使用nacos实现配置管理和服务发现

    目录 版本说明 创建项目 版本说明 IDEA:2021.3 Maven:3.6.3 Jdk:17 Spring-Boot:2.6.13 Spring-Cloud:2021.0.5 Spring-Clo ...

  2. 神经网络基础篇:详解二分类(Binary Classification)

    二分类 注:当实现一个神经网络的时候,通常不直接使用for循环来遍历整个训练集(编程tips) 举例逻辑回归 逻辑回归是一个用于二分类(binary classification)的算法.首先从一个问 ...

  3. DWS临时内存不可用报错: memory temporarily unavailable

    本文分享自华为云社区<DWS临时内存不可用报错: memory temporarily unavailable>,作者:漫天. 1.定位报错的DN/CN 当出现memory tempora ...

  4. 你会几种读取/加载 properties配置文件方法

    摘要:在java项目中经常会使用到配置文件,这里就介绍几种加载配置文件的方法. 本文分享自华为云社区<[Java]读取/加载 properties配置文件的几种方法>,作者:Copy工程师 ...

  5. webpack性能优化(2):splitChunks用法详解

    之前写的<webpack性能优化(0):webpack性能优化概况-优化构建速度>.<webpack性能优化(1):分隔/分包/异步加载+组件与路由懒加载> 如果使用vue-c ...

  6. 优化 uniapp 发行操作:一键打包、混淆代码

    ​ uniapp一键发行代码并混淆代码 第一步.在项目根目录下安装插件 npm install javascript-obfuscator -g 安装完成后,javascript-obfuscator ...

  7. 思考:Https情况下前端密码是否需要加密

    例子: 不加密例子: image-20210719153550042 加密例子: image-20210719153812653 结论:前端账号密码需要加密. 论点一:https是否真的"安 ...

  8. 【快速阅读二】从OpenCv的代码中扣取泊松融合算子(Poisson Image Editing)并稍作优化

    泊松融合我自己写的第一版程序大概是2016年在某个小房间里折腾出来的,当时是用的迭代的方式,记得似乎效果不怎么样,没有达到论文的效果.前段时间又有网友问我有没有这方面的程序,我说Opencv已经有了, ...

  9. UVA - 1594 :Ducci Sequence (set应用)

    给定n元组(a1,a2,...,an),ai均为整数,得到下一个序列为(|a1-a2|,|a2-a3|,...,|an-a1|),如此循环下去,必定会出现全零序列或重复序列. 现要求判断给定序列是全零 ...

  10. AtCoder ARC 115 E - LEQ and NEQ (延迟标记线段树 or 笛卡尔积 + DP维护)

    问题链接:Here 长度为 \(N\) 的数列 \(A_1,-,A_N\) .回答满足以下条件的长度 \(N\) 的数列 \(X_1,-,X_N\) 的个数除以 \(998244353\) 的余数. ...