树莓派上电发送IP地址到邮箱

创建python脚本文件 auto_send_email.py

#!/usr/bin/python3import subprocess
import smtplib
from email.mime.text import MIMEText
import datetime
import time
import osdef check_ping():hostname = "www.baidu.com"response = os.system("ping -c 1 " + hostname)# and then check the response...if response == 0:pingstatus = Trueelse:pingstatus = Falsereturn pingstatuswhile True:if check_ping():breaktime.sleep(1)# Change to your own account information
# Account Information
to            = 'xxxxx@163.com'  # Email to send to.
mail_user     = 'xxxxx@126.com' # Email to send from.
mail_password = ''          # 授权码
smtpserver    = smtplib.SMTP('smtp.126.com') # Server to use.smtpserver.ehlo()                            # Says 'hello' to the server
smtpserver.starttls()                        # Start TLS encryption
smtpserver.ehlo()
smtpserver.login(mail_user, mail_password)   # Log in to server
today = datetime.date.today()                # Get current time/datearg='ifconfig -a'                            # Linux command to retrieve ip addresses.
# Runs 'arg' in a 'hidden terminal'.
p=subprocess.Popen(arg, shell=True, stdout=subprocess.PIPE)
data = p.communicate()                       # Get data from 'p terminal'.
# print(data)# get ip data
ip_lines = data[0].splitlines()
ips = ""
for ip in ip_lines:ips += ip.decode("utf-8") + "\n"# Creates the text, subject, 'from', and 'to' of the message.
msg = MIMEText(ips)
msg['Subject'] = 'IPs For RaspberryPi Ubuntu  on %s' % today.strftime('%b %d %Y')
msg['From'] = mail_user
msg['To'] = to# Sends the message
smtpserver.sendmail(mail_user, [to], msg.as_string())# Closes the smtp server.
smtpserver.quit()

创建 /etc/rc.local 文件,在/etc/ 目录下,执行 建立的send_email.py 脚本文件,按绝对路径查找python脚本;
在这里插入图片描述
给 rc.local 添加可执行权限:

$ sudo chmod +x /etc/rc.local

创建软链接

$ sudo ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service

lib/systemd/system/ 目录下 rc-local.service 文件内添加如下内容:会执行/etc/rc.local 文件
在这里插入图片描述

参考:https://blog.csdn.net/weixin_43916516/article/details/133458079

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/266535.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zabbix、netdata和glances,做最简单的系统资源监控

软件需要显示服务器的资源信息(CPU、内存、网络、硬盘等),但是软件是在Docker容器中运行。 目前方案 通过ssh在主机上远程运行ps、free等指令,获取相应的信息。这种方案需要代码配置主机的IP,以及用户名和密码&#…

【MATLAB】基于CEEMD分解的信号去噪算法(基础版)

代码的使用说明 【MATLAB】基于CEEMD分解的信号去噪算法(基础版) 代码流程图 代码效果图 获取代码请关注MATLAB科研小白的个人公众号(即文章下方二维码),并回复CEEMD去噪 本公众号致力于解决找代码难,写代…

Flink核心概念

并行度 当要处理的数据量非常大时,我们可以把一个算子操作,“复制”多份到多个节点,数据来了之后就可以到其中任意一个执行。这样一来,一个算子任务就被拆分成了多个并行的“子任务”(subtasks)&#xff0…

node14升级node16之后,webpack3项目无法启动处理

node从14升级到16之后,项目就无法启动了,研究了webpack3升级5,研究好几个小时都无法启动,最后发现,微微升级几个版本就可以了。webpack还是3 版本改了好多个的,但是不确定具体是哪几个起作用的,…

110. 平衡二叉树(Java)

给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:t…

AcWing 95. 费解的开关(递推)

题目链接 活动 - AcWing 本活动组织刷《算法竞赛进阶指南》,系统学习各种编程算法。主要面向有一定编程基础的同学。https://www.acwing.com/problem/content/97/ 题解 只要第一行开关的状态确定,则所有开关的状态都可以被推出来。第一行开关总共有种操…

Nginx的server层外层的常见配置语句的解读

有下面的Nginx配置: worker_processes auto; worker_rlimit_nofile 51200;events {use epoll;worker_connections 51200;multi_accept on; }http {include mime.types;default_type application/octet-stream;server_names_hash_bucket_size 512;client_max_body_size 50m;cli…

QT作业3

完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面 如果账号和密码不匹配&#xf…

LAMP LNMP 企业网站架构部署和优化

LAMP 架构 LAMP架构:是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP&…

Python中 dearpygui 和 Tkinter 的对比与选择

更多Python学习内容:ipengtao.com 大家好,我是彭涛,今天为大家分享 Python中 dearpygui 和 Tkinter 的对比与选择,全文4400字,阅读大约15分钟。 Python 中有许多用于创建图形用户界面的库,其中 dearpygui&a…

Web安全-SQL注入【sqli靶场第11-14关】(三)

★★实战前置声明★★ 文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 0、总体思路 先确认是否可以SQL注入&#xff0…

JAVA使用HTTP代码示例

你好,Java开发者们!今天,我要给你们带来一场硬核的盛宴,那就是在Java中使用HTTP协议进行网络通信的代码示例。准备好接受挑战了吗?Lets go! 首先,我们需要导入一些必要的库,它们将成…