python脚本--yagmail邮件发送
#!/usr/bin/env python # -*- coding: UTF-8 -*- import os import socket import psutil import datetime import time import re import subprocess import yagmail def net_info(): p = os.popen("hostname -I") p.read() res1 = net_info() def host_name(): HostName = socket.gethostname() return HostName res2 = host_name() def local_time(): local_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) return local_time res3 = local_time() def cpu_info(): cpu = psutil.cpu_percent(1) return cpu res4 = cpu_info() def mem_info(): mem = psutil.virtual_memory() info1 = {'mem_total': mem[0], 'mem_free': mem[1], 'mem_percent': mem[2], 'mem_used': mem[3]} return info1 res5 = mem_info() def disk_info(): disk = psutil.disk_usage('/') info2 = {'total': disk[0], 'used': disk[1], 'free': disk[2], 'percent': disk[3]} # 同样写入一个字典 return info2 res6 = disk_info() #def main(): m_ip = res1 m_host_name = res2 m_local_time = res3 m_cpu_info = res4 m_mem_info = res5 m_disk_info = res6 msg = ''' ip地址:%s 主机名:%s 触发时间:%s cpu使用率:%s 内存总量:%sM 内存剩余:%sM 内存使用率:%s 内存使用量:%sM 磁盘总量:%sGB 磁盘使用量:%sGB 磁盘剩余量:%sGB 磁盘使用率:%s%% ''' % (m_ip, str(m_host_name), str(m_local_time), m_cpu_info, int(m_mem_info.get('mem_total') / 1024 / 1024), int(m_mem_info['mem_free'] / 1024 / 1024), m_mem_info['mem_percent'], int(m_mem_info['mem_used'] / 1024 / 1024), int(m_disk_info['total'] / 1024 / 1024 / 1024), int(m_disk_info['used'] / 1024 / 1024 / 1024), int(m_disk_info['free'] / 1024 / 1024 / 1024), m_disk_info['percent'])
#print(msg) #res7 = main() #第三方邮件配置 yag = yagmail.SMTP( user="邮箱地址", password="邮箱的独立密码", host='smtp.qq.com') #contents = res7 yag.send('493630393@qq.com','服务器告警',msg)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端