当前位置: 首页 > news >正文

2023年亲测有效----树莓派启动时自动邮件上报ip

2023年亲测 树莓派启动时自动邮件上报ip

  • 首先开启qq邮箱smtp服务
  • shell文件内容
  • 启动自动执行
  • python文件
  • 注意事项

首先开启qq邮箱smtp服务

然后点击开启就会有授权码
在这里插入图片描述

shell文件内容

在自己的shell里,运行echo $PATH,把内容覆盖下面的path。
功能 作用就是 测试网络系统是否成功联通,命令ifconfig是否会有正常输出

#!/bin/bash
export PATH='/home/pi/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/snap/bin'
while true; do (echo `ifconfig|grep 192.168`)&& break;sleep 1;done;
python3 /home/pi/rePortIp.py 

启动自动执行

主要工具:crontab

crontab -e

添加末尾如下,ctrl + s 保存,然后ctrl + x退出

@reboot /home/pi/reportIp.sh

python文件

python文件就是邮件发送了

# coding=utf-8
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
import os
import time#发送内容t
def mail(t):ret=Truetry:msg=MIMEText(t,'plain','utf-8')msg['From']=formataddr(["Jack",my_sender])          # 括号里的对应发件人邮箱昵称、发件人邮箱账号msg['To']=formataddr(["Rose",my_user])              # 括号里的对应收件人邮箱昵称、收件人邮箱账号msg['Subject']="树莓派IP地址获取上报"                   # 邮件的主题,也可以说是标题server=smtplib.SMTP("smtp.qq.com", 587)             # 发件人邮箱中的SMTP服务器,端口是587server.login(my_sender, my_pass)                    # 括号中对应的是发件人邮箱账号、邮箱密码server.sendmail(my_sender,[my_user,],msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件server.quit()  # 关闭连接except Exception:  # 如果 try 中的语句没有执行,则会执行下面的 ret=Falseret=Falsereturn ret
# 获取ifconfig命令内容cmd='ifconfig |grep 192.'t = "empty"
while t == "empty":with os.popen(cmd,"r") as p:t = p.read()if not t:t = "empty"time.sleep(5)# 设置发件人和收件人信息
my_sender='xxxx@xxx.com'  # 自己的邮箱账号
my_pass = 'xxx'   # 发件人邮箱密码(之前获取的授权码)
my_user=my_sender    # 自己的邮箱账号ret=mail(t)
if ret:print("发送邮件成功")
else:print("发送邮件失败")

注意事项

1.确认开启了邮箱服务,然后获得了授权
2. 确认有.sh文件和.py文件,注意自己设置路径
3. 确认crontab设置okay
4.reboot试试吧!

相关文章:

2023年亲测有效----树莓派启动时自动邮件上报ip

2023年亲测 树莓派启动时自动邮件上报ip 首先开启qq邮箱smtp服务shell文件内容启动自动执行python文件注意事项 首先开启qq邮箱smtp服务 然后点击开启就会有授权码 shell文件内容 在自己的shell里,运行echo $PATH,把内容覆盖下面的path。 功能 作用就…...

Direct3D颜色

在Direct3D中颜色用RGB三元组来表示,RGB数据可用俩种不同的结构来保存,第一种是D3DCOLOR,它实际上与DWORD类型完全相同,共有32位,D3DCOLOR类型种的各位被分成四个8位项,每项存储了一种颜色分量的亮度值。 由…...

LLM - 大模型速递 Baichuan2 快速入门

目录​​​​​​​ 一.引言 二.模型探索 1.模型下载 2.模型结构 ◆ Baichuan-1-13B 结构 ◆ Baichuan-2-13B 结构 3.模型测试 ◆ Baichuan-2-13B Chat 推理 ◆ Baichuan-2-13B 显存 4.模型量化 ◆ 在线量化 ◆ 离线量化 ◆ 量化效果 5.模型迁移 三.模型微调 …...

DB2和MYSQL的LOAD原理和比较测试

DB2 load的过程: (1)、装入阶段 装入阶段将源数据解析成物理数据页的格式,直接装入到数据页中。必要时还收集索引键和表统计信息。 (2)、构建索引阶段 根据在装入阶段收集的索引键创建表索引。 &#xff08…...

redisson常用api

redisson提供了很多对象类型的api&#xff0c;下面介绍下一些常用的对象api。 RBucket 可操作任何对象的api&#xff0c;前提是要确定好泛型&#xff0c;方法比较少。大小限制为512Mb。 RBucket<AnyObject> bucket redisson.getBucket("anyObject");bucket…...

MySQL——数据库以及数据表的创建

创建数据库 回到刚才创建数据库的问题&#xff0c;我们在创建数据库的时候可以通过添加一个参数&#xff0c;这个参数的意义在于当我们创建的数据库已经存在的时候则不会创建&#xff0c;也不会报错&#xff0c;如果不使用这个参数&#xff0c;则我们在重复创建一个已经存在的…...

智能配电房管理

智能配电房管理依托电易云-智慧电力物联网&#xff0c;利用先进技术手段&#xff0c;对配电房进行智能化、自动化的管理&#xff0c;以提高配电房的安全性、可靠性和效率。 智能配电房管理包括&#xff1a; 1.实时监测&#xff1a;通过传感器、监控设备等手段&#xff0c;对配…...

php如何解决高并发的问题?

在PHP中解决高并发问题可以采取以下几种策略&#xff1a; 使用缓存&#xff1a;通过使用缓存技术&#xff0c;可以将经常访问的数据存储在内存中&#xff0c;减轻数据库或其他资源的压力。常见的缓存技术包括Memcached和Redis。PHP提供了与这些缓存服务器进行交互的扩展和库。 …...

Linux操作系统

线程竞争 那么初始化一个整型为 0&#xff0c;使用一万个线程&#xff0c;每个线程都对该整型加 1&#xff0c;最后结果不一定会是 10000。这是因为整型变量的赋值操作不是原子操作&#xff0c;也就是说它不是一个不可分割的操作&#xff0c;而是由多条指令组成的。例如&#…...

华为OD:VLAN资源池

题目描述&#xff1a; VLANO 是一种对局域网设备进行逻辑划分的技术&#xff0c;为了标识不同的VLAN&#xff0c;引入VLAN ID(1-4094之间的整数)的概念。 定义一个VLAN ID的资源池&#xff08;下称VLAN资源池&#xff09;&#xff0c;资源池中连续的VLAN用开始VLAN-结束VLAN表…...

大学大创项目:手机室内AR导航APP项目思路

文章目录 一、最初的项目思路二、建图和定位分离的项目思路1、建图2、定位 个人见解&#xff0c;如有错误&#xff0c;请多包涵 一、最初的项目思路 在大创项目的开始&#xff0c;将手机确定为应用设备&#xff0c;传感器确定为相机。 由于知识储备的原因&#xff0c;在头一次…...

OpenSSL加解密算法使用方法

下面简单记录一下 Linux上openssl命令的使用方法&#xff0c;包括 OpenSSL中加解密算法的使用方法和性能测试方法&#xff0c;以便让新手朋友们能快速用起来。持续更新中 … sm3算法 $ openssl sm3 /tmp/1.txt SM3(/tmp/1.txt) baafadbe43559b7043abd1682a4e12be05692cae175…...

Excel VSTO开发10 -自定义任务面板

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 10 自定义任务面板 自定义任务面板&#xff08;有些地方称为侧边面板&#xff09;即CustomTaskPane&#xff0c;这个类在Microsoft…...

百度智能云千帆大模型丨未来人手必备的代码助手

文章目录 1. 前言2. 千帆大模型平台3. 十分友好的功能4. comate代码助手5. 总结 1. 前言 我之前给大家推荐过Poe这个网站&#xff0c;它用的人比较少&#xff0c;但一旦接触后会发现它其实挺强大的。 因为它是一个可以同时支持好几个大模型的在线聚合平台。常用的GPT4&#x…...

美客多平台经营秘籍:为何测评补单操作是必要的?

许多经营美客多平台的商家有一种观念&#xff0c;他们认为美客多平台的规则与亚马逊有所区别。在美客多上&#xff0c;店铺比产品更重要&#xff0c;而且平台的竞争相对较小。因此&#xff0c;他们认为在美客多平台进行补单操作是不必要的。 然而&#xff0c;根据美客多平台的…...

AArch64内存管理

概述 本指南介绍AArch64中的内存转换&#xff0c;这是内存管理的关键。本文介绍了如何将虚拟地址转换为物理地址、转换表格式以及软件如何管理页表缓存 (TLB)。 这些对于底层代码&#xff08;例如启动代码或驱动程序&#xff09;开发人员都很有用。对于编写软件来设置或管理内…...

导出Excel的技术分享-综合篇

导出Excel的技术分享-综合篇 简单的EasyExcel使用 /*** 最简单的写*/public void simpleWrite() {// 注意 simpleWrite在数据量不大的情况下可以使用&#xff08;5000以内&#xff0c;具体也要看实际情况&#xff09;&#xff0c;数据量大参照 重复多次写入// 写法1 JDK8// s…...

iPhone 14四款机型电池容量详细参数揭秘

苹果推出的iPhone 14系列与2021系列的设计和外形尺寸相同&#xff08;仅缩小了几分之一毫米&#xff09;&#xff0c;所以这并不奇怪&#xff0c;但电池容量也大致相同。 虽然可能不足以对电池寿命产生可衡量的影响&#xff0c;但也存在微小的差异。不同的是&#xff0c;现在有…...

Python功能强大、灵活可扩展的Statsmodels库

Statsmodels是一个功能强大、灵活可扩展的Python库&#xff0c;用于进行统计建模和数据分析。它提供了一系列丰富的统计模型和方法&#xff0c;可以帮助研究人员和数据科学家在Python环境中进行高级统计分析。 概述 在Statsmodels中&#xff0c;线性回归是最常用的统计模型之…...

AcWing 4405. 统计子矩阵(每日一题)

如果你觉得这篇题解对你有用&#xff0c;可以点点关注再走呗~ 题目描述 给定一个 NM 的矩阵 A&#xff0c;请你统计有多少个子矩阵 (最小 11&#xff0c;最大 NM) 满足子矩阵中所有数的和不超过给定的整数 K ? 输入格式 第一行包含三个整数 N,M 和 K。 之后 N 行每行包含 …...

Kali Linux渗透测试技术介绍【文末送书】

文章目录 写在前面一、什么是Kali Linux二、渗透测试基础概述和方法论三、好书推荐1. 书籍简介2. 读者对象3. 随书资源 写作末尾 写在前面 对于企业网络安全建设工作的质量保障&#xff0c;业界普遍遵循PDCA&#xff08;计划&#xff08;Plan&#xff09;、实施&#xff08;Do…...

GPT与BERT模型

NLP任务的核心逻辑是“猜概率”的游戏。BERT和GPT都是基于预训练语言模型的思想&#xff0c;通过大量语料训练得到语言模型。两种模型都是基于Transformer模型。 Bert 类似于Transformer的Encoder部分&#xff0c;GPT类似于Transformer的Decoder部分。两者最明显的在结构上的差…...

2023-09-06力扣每日一题-摆烂暴力

链接&#xff1a; [1123. 最深叶节点的最近公共祖先](https://leetcode.cn/problems/form-smallest-number-from-two-digit-arrays/) 题意&#xff1a; 如题 解&#xff1a; 今天搞一手暴力&#xff0c;按层存&#xff0c;按层取&#xff0c;直到只取到一个 实际代码&…...

【Flutter】Flutter 使用 timego 将日期转换为时间描述

【Flutter】Flutter 使用 timego 将日期转换为时间描述 文章目录 一、前言二、安装与基本使用三、如何添加新的语言四、如何覆盖现有的语言或添加自定义消息五、完整示例六、总结 一、前言 你好&#xff01;我是小雨青年&#xff0c;今天我要为你介绍一个非常实用的 Flutter 包…...

并发容器11

一 JDK 提供的并发容器总结 JDK 提供的这些容器大部分在 java.util.concurrent 包中。 ConcurrentHashMap: 线程安全的 HashMap CopyOnWriteArrayList: 线程安全的 List&#xff0c;在读多写少的场合性能非常好&#xff0c;远远好于 Vector. ConcurrentLinkedQueue: 高效的并…...

Java8实战-总结22

Java8实战-总结22 使用流数值流原始类型流特化数值范围数值流应用&#xff1a;勾股数 使用流 数值流 可以使用reduce方法计算流中元素的总和。例如&#xff0c;可以像下面这样计算菜单的热量&#xff1a; int calories menu.stream().map(Dish::getcalories).reduce(0, Int…...

matlab 实现点云ICP 配准算法

一、算法步骤 (1)在目标点云P中取点集pi∈P; (2)找出源点云Q中的对应点集qi∈Q,使得||qi-pi||=min; (3)计算旋转矩阵R和平移矩阵t,使得误差函数最小; (4)对pi使用上一步求得的旋转矩阵R和平移矩阵t进行旋转和平移变换,的到新的对应点集pi’={pi’=Rpi+t,pi∈P};…...

python提取word文本和word图片

提取文本 docx只支持docx格式&#xff0c;所以如果想读取doc需要另存为docx格式即可 import docx # pip3 install python-docx doc docx.Document(three.docx) for paragraph in doc.paragraphs:print(paragraph.text)提取图片 import zipfile import os, re # docx本质上…...

iOS开发Swift-9-SFSymbols,页面跳转,view屏幕比例,启动页-和风天气AppUI

1.创建项目 2.设置好测试机型,App显示名称,以及关闭横向展示. 3.下载SF Symbols. https://developer.apple.com/sf-symbols/ 右上角搜索 search ,可以找到很多系统自带图标.选择喜欢的图标,拷贝图标的名字. 插入一个Button,在Image中粘贴图标名称并选择,即可将Button变成想要的…...

代码优化工具-测试程序执行时间-IDEAdebug+StopWatch

参考&#xff1a; [技巧]IDEA的debugStopWatch监测程序运行时间 添加链接描述 1创建类StopWatchExpand import lombok.extern.slf4j.Slf4j;import org.springframework.util.StopWatch;import java.text.NumberFormat;/*** 检测程序片段运行时间拓展** author sdevil507* cr…...

上海建站模板网站/教育培训报名

【2018版】SpringMVC入门视频课程&#xff08;适合初学者的教程&#xff09;—272人已学习 课程介绍 本课程以通俗易懂的方式讲解SpringMVC核心技术&#xff0c;适合初学者的教程&#xff0c;让你少走弯路&#xff01; 1.SpringMVC简介和实现原理、Controller详解、方法的参…...

网站备案转移/百度seo高级优化

Ubuntu16.04安装搜狗输入法及快捷区域截图 更新软件列表及软件 官方提供的ubuntu16.04硬盘映像中部分软件列表及软件不是最新的&#xff0c;因此安装好Ubuntu后首先应该更新软件列表及软件。 更新软件列表 sudo apt-get update更新软件 sudo apt-get upgrade安装搜狗输入法…...

一个网站做app/爱站权重查询

Linux之ARM&#xff08;IMX6U&#xff09;BSP工程管理实验1、工程管理简介1.1、创建bsp、imx6ul、obj和project这四个文件夹1.2、文件分类2、实验程序编写2.1、创建 imx6ul.h 文件2.2、创建个.vscode文件修改includePath2.2.1、修改includePath2.3、编写led驱动文件2.2.1、 bsp…...

微信网站模板/百度移动端模拟点击排名

转行java和Web前端学哪个好&#xff1f;其实二者并没有好与坏之分&#xff0c;选择web前端还是Java主要看自己的兴趣爱好&#xff0c;以及技术倾向&#xff0c;不管是前端还是后端&#xff0c;都是高薪职业&#xff0c;都很有发展前景。 对于Java而言&#xff0c;JavaSE、Javaw…...

软件开发外包app/seo关键字优化教程

$(#subtabs a).each(function (i, ele) { var href $(ele).attr("href"); if (location.href.indexOf(href) > -1) { $(".tab").removeClass("now-tab"); $(ele).parent().addClass(now-tab); } });...

郑州响应式网站制作/百度首页百度一下

Xamarin基础命名空间Microsoft.SqlServer.Server 该命名空间包含大量的类、接口和枚举&#xff0c;用于操作微软SQL Server数据库。该空间支持Xamarin.iOS和Xamarin.Android&#xff0c;不支持WinPhone和Forms。在使用的时候&#xff0c;需要先引入System.Data.dll。转载于:htt…...