python3 发送邮件 send mail 使用 163 smtp服务器

2023-11-08

监控本地网络速度,通过api 请求速度,发现速度异常,发送报警邮件:

#! /usr/bin/env python3  
# -*- coding: UTF-8 -*-  
import smtplib ,time
from email.mime.text import MIMEText  
import requests

mailto_list=['×××××@163.com',"×××××××@qq.com"]  #receiver mail address

mail_host="smtp.163.com"            #smtp server 
mail_user="*********@163.com"       #your 163 mail username  
mail_pass="×××××××××××"             #your 163 mail password,使用授权码登录不要用登录,具体见163邮箱中的设置  
mail_postfix="163.com"              #mail suffix,163.com  

def send_mail(to_list,title,sub,content):  
    me=title+"<"+mail_user+"@"+mail_postfix+">"  
    msg = MIMEText(content,_subtype='plain',_charset='utf-8')  
    msg['Subject'] = sub  
    msg['From'] = me  
    msg['To'] = ";".join(to_list)                #reciever use ';' split  
    try:  
        server = smtplib.SMTP()  
        server.connect(mail_host)                #connect to server  
        server.login(mail_user,mail_pass)        #login server
        server.sendmail(me, to_list, msg.as_string())  
        server.close()  
        return True  
    except Exception as e:  
        print(e)  
        return False  

def check_speed(api='http://192.168.50.172:5050/data/speed'):
    try:
        resp = requests.get(api)
        if resp.status_code == 200:
            speed = resp.json()['download_speed']
            print("speed:",speed)
            if speed > 15000:
                return ["speed lower than 15000, actual speed is "+str(speed)]
            else :
                return None
        return [str(resp.status_code)+" requests api fail!!!"]
    except Exception as e:
        return ["requests api fail!!!"]

if __name__ == '__main__':
    while True:
        ret = check_speed()
        print(ret)
        if ret:
            send_mail(mailto_list,"speed","speed monitor",ret[0])  
        print("sleep")
        time.sleep(180)     

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python3 发送邮件 send mail 使用 163 smtp服务器 的相关文章

  • 在云服务器中运行 python 脚本的最简单方法是什么?

    我有一个网络爬行 python 脚本 需要几个小时才能完成 并且无法在我的本地计算机上完整运行 有没有一种方便的方法可以将其部署到简单的 Web 服务器 该脚本基本上将网页下载到文本文件中 如何最好地实现这一点 谢谢 既然你说性能是一个问题
  • 在 Python 3.5 64 位上通过 pip 安装 OpenCV

    我尝试安装 OpenCV 但找不到任何合适的 pip 软件包 我决定上网查找有关如何安装它的官方文档 并发现this https opencv python tutroals readthedocs io en latest py tuto
  • Google PubSub 在阻止和等待消息时没有标准输出

    我正在使用这个问题底部的 Python 代码监听 Google PubSub 消息 它实际上是来自 Google 的异步拉取示例 我运行我的程序并输出到文件 python my script py tee log txt 如果我在接收消息时
  • python 线程是如何工作的?

    我想知道 python 线程是并发运行还是并行运行 例如 如果我有两个任务并在两个线程中运行它们 它们是同时运行还是计划同时运行 我知道GIL并且线程仅使用一个 CPU 核心 这是一个复杂的问题 需要大量解释 我将坚持使用 CPython
  • pyqt5调用url时处于无响应状态

    我刚刚在 pyqt 中实现了登录 但在调用 url 和获取响应之间 qt 窗口显示无响应状态 谁能建议我如何避免不响应状态 code class Login QDialog def init self height width parent
  • 这是在 python 中美白图像的正确方法吗?

    我在尝试着zero center and whiten CIFAR10数据集 但我得到的结果看起来像随机噪声 Cifar10数据集包含60 000尺寸的彩色图像32x32 训练集包含50 000和测试集包含10 000分别是图像 以下代码片
  • tf.keras.utils.image_dataset_from_directory,但标签来自 csv?

    请告诉我哪里出错了 我正在研究 Kaggle 狗品种分类挑战 我想尝试 one hot 编码与标签编码 图像未在图像目录中拆分 因此我无法将 推断 与 tf keras utils image dataset from directory
  • 为 Mercurial 执行 hgweb.cgi 时,指定的 CGI 应用程序行为不当...

    我有 IIS 6 我将 Mercurial 安装在 c program files mercurial 中 我在 c program files python 中安装了 Python 2 6 I added extension handli
  • scikit-learn - 具有置信区间的 ROC 曲线

    我可以使用 ROC 曲线scikit learn with fpr tpr thresholds metrics roc curve y true y pred pos label 1 where y true是基于我的黄金标准的值列表 即
  • 计算两个表中等效行的交集

    我有两个 FITS 文件 让我们考虑一下例如第一个文件有 100 行和 2 列 第二个文件有 1000 行和 2 列 FITS FILE 1 FITS FILE 2 A B C D 1 2 1 2 1 3 1 2 2 4 1 2 我需要采取
  • dataframe KeyError,尽管它存在

    鉴于数据 rows x 1 y 2 z 3 x 2 y 2 z 3 如果我尝试构建这样的数据框 frame pd DataFrame from records rows index x 效果很好 然而 这 frame pd DataFram
  • 如何在 Python 中小写字符串?

    有没有办法将字符串转换为小写 Kilometers kilometers See How to change a string into uppercase https stackoverflow com questions 9257094
  • 如何让 list_blobs 表现得像 gsutil

    我只想获得 GCS 上假文件夹结构的第一级 如果我运行例如 gsutil ls gs gcp public data sentinel 2 tiles 我得到一个这样的列表 gs gcp public data sentinel 2 til
  • 带日志图的 Type 1 字体

    我正在尝试使用 Matplotlib 图表作为相机就绪的一部分 提交 出版社要求使用Type 1字体 仅有的 我发现 PDF 后端很乐意输出 Type 1 字体 具有线性 Y 轴的简单图形 但输出 Type 3 字体 对数 Y 轴 使用对数
  • python:Windows终端中的unicode,使用的编码?

    我在 Windows 7 终端中使用 Python 解释器 我正在尝试了解 unicode 和编码 I type gt gt gt s gt gt gt s x89 gt gt gt u u gt gt gt u u xeb 问题1 字符串
  • Python:使用 FOR 循环插入字典

    我已经在论坛中进行了搜索 但不明白是否可以使用以下构造将新条目插入到我的 Python 字典中 而不将其转换为列表 for x in range 3 pupils dictionary new key input Enter new key
  • 如何提取Python代码文件中使用的函数?

    我想创建代码文件中使用的所有函数的列表 例如 如果我们在名为 add random py 的文件中有以下代码 import numpy as np from numpy import linalg def foo print np rand
  • 如何使用 Google Drive API 通过服务帐户访问域中的共享文件?

    我一直在尝试从 Python 3 7 脚本访问有关 Google Shared Drive 文件的一些简单信息 上次修改共享云端硬盘上的 Google 表格文件的时间 我创建了一个服务帐户在 GCP Drive API 菜单中 它可以通过
  • Python 用 lambda 函数封闭作用域变量

    我写了这个简单的代码 def makelist L for i in range 5 L append lambda x i x return L 好的 现在我打电话 mylist makelist 因为稍后调用嵌套函数时会查找封闭范围变量
  • Python:从 apache authnz_ldap 获取用户

    我正在通过 Apache2 的 authnz ldap 模块成功验证 ldap 用户 我不清楚如何在他们登录后获取他们的用户名 以便我可以通过任何以下表单 网页与他们交互 我尝试过典型的方法 os getenv os environ get

随机推荐

  • 2019安恒杯一月新春贺岁赛writeup

    WEB babyGo 提交你找到的字符串的md5值 考点 php反序列化 POP链构造
  • 字典树:Trie树(持续更新)

    字典树 Trie树 持续更新 今天开始学习字典树 顺便做做笔记 等多刷几道题再来更新一波经验 一 基本介绍 1 什么是字典树 字典树 又称单词查找树 前缀树 键树 是一种树形结构 是一种哈希树的变种 2 基本性质 1 根节点不包含字符 除根
  • 第十三届蓝桥杯单片机组—PCF8591使用

    蓝桥杯 PCF8591使用 00 了解PCF8591 01 PCF8591手册主要部分解读 控制字节 02 程序部分 ADC部分程序 DAC部分程序 03 总结 00 了解PCF8591 蓝桥杯的PCF8591是ADC DAC驱动芯片 大家
  • python 中定义的函数 如何在main中调用_python中main函数的用法

    什么场景下会有main函数 当该python脚本被作为模块 module 引入 import 时 其中的main 函数将不会被执行 main函数的作用 name main 是Python的main函数入口 并非说 加入这句才能使用pytho
  • js插件汇总

    1 NProgress显示顶部进度条 nprogress js 2 Decimal 浮点数运算的精度 decimal js 3 jquery画小图插件 jquery sparkline js 4 侧边栏导航 sidebar nav js B
  • apache模块开发 request_rec结构体中变量的值

    request rec结构体中用很多成员变量 这里只输出了char和int两种类型的值 source 1 include httpd h 2 include http config h 3 include http protocol h 4
  • STM32-(16):Systick 系统时钟

    上一篇 STM32 15 如何用ID号保护自己的劳动成果 下一篇 STM32 17 SPI与数码管 数码管 Systick的两大作用 1 可以产生精确延时 原先的Delay只是盲等 2 可以提供给操作系统一个单独的心跳 时钟 节拍 通常实现
  • 2021你有想尝试过副业吗?不如来学习3D游戏建模

    从2020 2021 我们会害怕 害怕经历这次疫情 自己会失业 但是同时也想保住一份工作 不知如果去做 那到底要不要先去找一条后路去做呢 起码还能给自己一条 活路 可是往往试着用哪一条活路 反而更多的是一事无成 我主业是一个3D模型模型师
  • 继承。。。

    继承 上节回顾 static 静态的 作用 可以用来修饰成员变量 gt 静态变量 类变量 静态变量它是随着类的加载而加载 它被这个类的所有对象共享 普通成员变量 实例变量 它是随着对象的创建而产生 在不同的对象之间 是相互独立的 可以用来修
  • java中的IO整理

    写在前面 本文章基本覆盖了java IO的全部内容 文章以例子为主 因为讲解内容的java书很多了 我觉的学以致用才是真 代码是写出来的 不是看出来的 最后欢迎大家提出意见和建议 案例1 创建一个新文件 1 2 3 4 5 6
  • linux安装nginx+php

    在centos服务器下 mkdir docker cd docker mkdir nginx mkdir php mkdir www 2 拉取镜像 docker pull nginx docker pull php 7 4 fpm dock
  • CentOS 7 分区方案

    通常系统盘都会选择性能较好SSD 一般在500G左右 这里就以500G硬盘为例 以下为CentOS 自动分区方案 分区应该按照实际服务器用途而定 自动分区方案将 home 空间分配太多了 多数情况下并不适用 必须存在的分区 分区是必须存在的
  • 如何卸载、删除Anaconda?

    Anaconda这么好用 为啥要删呢 当然是我之前装得乱七八糟 导致现在心情不好 我要把它全部删掉 ok 开始 删除思路 首先利用anaconda clean清理包清理配置文件 然后直接用安装目录下的卸载程序卸载即可 一 anaconda
  • 算法分析基础

    问题 如何比较不同算法的性能 分析算法的运行时间 算法分析的原则 归纳基本操作 如 运算 赋值 比较 统一机器性能 假设基本操作代价均为1 统一机器性能后 算法运行时间依赖于问题输入规模与实例 相同输入规模 实例影响运行 最好情况 不常出现
  • spark 参数调优3-Shuffle Behavior

    spark参数调优系列 目录地址 https blog csdn net zyzzxycj article details 81011540 Shuffle Behavior spark reducer maxSizeInFlight 默认
  • JSP中使用element-ui

    首先需要下载element ui 可以直接在github下载即可 script 引入 这样就可以使用了 如 this message 已经上传过了 无需重复上传 注 vue里面直接使用 this即可 jsp里面想使用的可以试试了
  • 浏览器客户端生成唯一标识码

    created this getFinger methods getFinger const canvas document createElement canvas const ctx canvas getContext 2d const
  • 人工智能:深度学习算法及应用——简单理解CNN卷积神经网络并python实现(带源码)

    深度学习算法及应用 一 实验目的 二 实验要求 三 实验的硬件 软件平台 四 实验原理 1 1 深度学习概述 1 2 深度学习的常见结构 1 3 卷积神经网络 CNN 卷积 池化 全连接网络 1 4 卷积神经网络的大致结构 1 5 参数学习
  • 动态规划—分割回文串-ii 解析+代码

    分割回文串 ii 题目链接 分割回文串 ii 思路 分割字符串s 使得子串都是回文串 最后获得最小分割次数 那么我们可以不断把字符串缩短 判断子串是否可以被分割成回文串 并且最小分割次数 这就是子问题分割了 所以我们可以使用动态规划 状态
  • python3 发送邮件 send mail 使用 163 smtp服务器

    监控本地网络速度 通过api 请求速度 发现速度异常 发送报警邮件 usr bin env python3 coding UTF 8 import smtplib time from email mime text import MIMET