python——发送邮件

利用程序来发邮件的作用挺多的,在脚本运行时发送一个邮件给你,然后你可以知道脚本运行了,做到一个实时的监控。

import smtplib
from email.header import Header
def sendtheback(str):
    sendemaillsddress = "你的邮箱"  #用于发送邮件的地址
    sendemailpassword = "授权码"   #邮箱的密码
    sendemailhost = "smtp.qq.com"  #邮箱的服务器地址
    sendemailport = "465"  #端口
    recuveremailaddress = "接收的邮箱"   #接收的邮箱
    emailsubject = "关机"
    emalicontent = str

    message = MIMEText(emalicontent, 'plain', "utf-8")
    message["From"] = Header(sendemaillsddress, "utf-8")
    message["To"] = Header(recuveremailaddress, "utf-8")

    emailclient = smtplib.SMTP_SSL(sendemailhost, sendemailport)
    try:
        emailclient.login(sendemaillsddress, sendemailpassword)
        print("登录成功")
    except:
        print("登录失败")
    else:
        emailclient.sendmail(sendemaillsddress, recuveremailaddress, message.as_string())
        print("发送完成")
    finally:
        emailclient.close()

主要程序很简单,登录然后发送内容,把传过来的str参数发送出去,然后记得把服务close掉就可以了

也可以利用摄像头拍摄一张照片,然后把截图发送出去

cap = cv2.VideoCapture(0)
cap.isOpened()
ret_flag, Vshow = cap.read()
pic_name = "example.png"
cv2.imwrite(pic_name, Vshow)
cap.release()
#中间要有你的邮箱和授权
message['Subject'] = subject
message['From'] = sender
message['To'] = receivers
content = MIMEText('<html><body><img src="cid:imageid" alt="imageid"></body></html>', 'html', 'utf-8')
message.attach(content)
jpgpart = MIMEApplication(open(pic_name, 'rb').read())
jpgpart.add_header('Content-Disposition', 'attachment', filename=pic_name)
message.attach(jpgpart)
try:
    server = smtplib.SMTP_SSL("smtp.qq.com", 465)
    server.login(sender, "授权码")
    server.sendmail(sender, receivers, message.as_string())
    server.quit()
    print("发送成功")
except smtplib.SMTPException as e:
    sendtheback("截图发送失败")

然后获取电脑桌面的截图:

content = MIMEText('<html><body><img src="cid:imageid" alt="imageid"></body></html>','html','utf-8')
message.attach(content)
img = ImageGrab.grab()
pic_name = time.strftime('%Y-%m-%d-%H-%M-%S')+'.jpg'
img.save(pic_name)
jpgpart = MIMEApplication(open(pic_name, 'rb').read())
jpgpart.add_header('Content-Disposition', 'attachment', filename=pic_name)
message.attach(jpgpart)
try:
    server = smtplib.SMTP_SSL("smtp.qq.com",465)
    server.login(sender,"授权码")
    server.sendmail(sender, receivers, message.as_string())
    server.quit()
    print("发送成功")
except smtplib.SMTPException as e:
    sendtheback("截图发送失败")

差不多就是这些简单的代码就可以实现利用上一篇的接收邮件,然后接收到邮件的内容,然后对内容判断,如果内容是要桌面截图,就调用桌面截图的代码,实现截图然后把截图发送出去。算是比较逼格的程序了。

人生苦短,我用python

本文分享自微信公众号 - 孤独的S(sjw_980305)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏菩提树下的杨过

pygame-KidsCanCode系列jumpy-part3-重力及碰撞检测

这个游戏叫jumpy,大致玩法就是模拟超级玛丽一样,可以不停在各个档板上跳动,同时受到重力的作用,会向下掉,如果落下时,没有站在档板上,就挂了。

10030
来自专栏机器学习理论与数据竞赛实战

机器学习/数据挖掘面试总结

一面基本从项目里面提问,所有所写项目务必全部吃透,例如为何用这个模型,和其它的模型的区别,为什么不选用其它模型。

16730
来自专栏华章科技

和 Python 2.x 说再见!

在技术的长河中,软件、工具、系统等版本的迭代本是常事,但由于使用习惯、版本的兼容性、易用性等因素,很多用户及开发者在使用或做开发的过程中,并不愿意及时同步更新,...

11440
来自专栏zingpLiu

python【第五篇】常用模块学习

a.定义:本质就是.py结尾的python文件,逻辑上组织python代码,实现某种功能。例:文件名test.py-->模块名test。

8420
来自专栏华章科技

玩数据必备Python库:Numpy使用详解

除了明显的科学计算用途之外,Numpy还可以用作通用数据的高效多维容器,定义任意的数据类型。这些都使得Numpy能够无缝、快速地与各种数据库集成。

13430
来自专栏菩提树下的杨过

pygame 笔记-9 图片旋转及边界反弹

h5或flash中,可以直接对矢量对象,比如line, rectange旋转,但是pygame中,仅支持对image旋转,本以为这个是很简单的事情,但是发现还是...

9420
来自专栏华章科技

我背着女朋友,用 Python 偷偷抓取了她的行踪

导读:你知道吗?照片的Exif信息中包含了位置信息,即经纬度坐标。用Python爬取这个数据之后,你就可以套路女朋友了……

28040
来自专栏菩提树下的杨过

pygame-KidsCanCode系列jumpy-part6-主角挂掉重新开始

游戏的虚拟世界中,最让人happy的一个因素就是主角挂了,而且重来,只要restart就行了,不象现实中人的生命只有1次。回顾上节的效果,如果方块向下落时,挡板...

8520
来自专栏贾志刚-OpenCV学堂

学习OpenCV,新手常会问我的十个问题

赶快去检查/配置环境变量,看看有没有把opencv_world+版本号d.dll所在路径到系统环境变量path中去,如果没有问题,重启VS即可

14950
来自专栏菩提树下的杨过

pygame-KidsCanCode系列jumpy-part4-弹跳

终于要到弹跳环节了,向上弹跳其实很简单,按下空格触发时,只要把y轴速度给一个向上的速度即可。

8030

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励