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


摘要

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

邮件发送与准备

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

编写简单代码

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

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

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

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

  1. pip install pywinrm
  2. 可以在pycharm里面进行安装.
  3. 在其他机器执行命令如下:
  4. # coding=utf-8
  5. from winrm.protocol import Protocol
  6. p = Protocol(
  7. endpoint='http://10.110.xxx.xxxx:5985/wsman',
  8. transport='ntlm',
  9. username=r'administrator',
  10. password='Mypassword',
  11. server_cert_validation='ignore')
  12. shell_id = p.open_shell()
  13. command_id = p.run_command(shell_id, b'python D:/pythonProjects/zhaobsh.py', ['/all'])
  14. std_out, std_err, status_code = p.get_command_output(shell_id, command_id)
  15. p.cleanup_command(shell_id, command_id)
  16. print(std_out, status_code)
  17. 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. Flutter GetX的事件监听

    Flutter GetX的事件监听 import 'package:flutter/material.dart'; import 'package:flutter_code/page/book/boo ...

  2. 温故而知新——MYSQL基本操作

    相关连接: mysql和sqlserver的区别:https://www.cnblogs.com/vic-tory/p/12760197.html sqlserver基本操作:https://www. ...

  3. 618大促,电商企业如何拔得头筹,“敏捷+ DevOps”有话说

    前言 当今企业发展不再以大为目标,而更多追求强和快,因为只有后者才能适应时代变化让企业处以不败之地,我们称这个时代为快鱼吃大鱼的时代,追求快和强也是企业的新形态. 传统行业小到菜场经济,大到航空航天, ...

  4. C++多线程强制终止

    摘要:实际上,没有任何语言或操作系统可以为你提供异步突然终止线程的便利,且不会警告你不要使用它们. 本文分享自华为云社区<如何编写高效.优雅.可信代码系列(1)--C++多线程强制终止>, ...

  5. 详解物联网Modbus通讯协议

    摘要:Modbus是当前非常流行的一种通讯协议. 本文分享自华为云社区<一文搞懂物联网Modbus通讯协议丨[拜托了,物联网!]>,作者: jackwangcumt. 1 概述 随着IT技 ...

  6. 技术架构+应用场景揭秘,为什么高斯Redis比开源香?

    摘要:高斯Redis即保留了开源Redis的能力,同时凭借其存算分离的架构,在成本.稳定性.可靠性.一致性等方面做出了新的突破,也更加适用于当下数据规模庞大的互联网业务. 本文分享自华为云社区< ...

  7. C# async await 异步执行方法

    WPF 异步执行 Action<> Func<> https://www.cnblogs.com/vipsoft/p/4535037.html 代码如下 using Syste ...

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

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

  9. GPT-4测评,大家先别急,图片输入还没来

    昨天GPT-4朋友圈刷屏,我更新了一篇小文章,极简罗列GPT-4的一些情报: 1 ChatGPT Plus用户才可试用GPT-4 2 试用阶段每四小时最多100条信息 3 知识库还是2021年 4 上 ...

  10. # 0x54 动态规划-树形DP

    A.没有上司的舞会 基础树形DP emmm,蒟蒻发现自己的DP太辣鸡了...所以来练练DP,这题的话实际上应该算是树DP的入门题吧,转移还是挺好想的. 每次在每个节点都会有个选择,就是选还是不选,如果 ...