树莓派发送自己ip地址到QQ邮箱
在没有显示屏的情况下连接树莓派无非两种情况:1.通过VNC 2.通过SSH。但是这两种连接方式都需要树莓派的IP地址,每次登陆路由器管理员界面查ip非常麻烦(尤其是在管理员密码被忘记的情况下 亲测。。)。所以我想到写一个python程序,让树莓派自己把ip地址发给我,但由于树莓派开机自动运行python程序我还没弄好,之后做好了再更新。
上代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-import smtplib
import urllib
import urllib.request
import socket
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.utils import formataddrmy_sender = 'XXXXXXXXXXX@qq.com' # 发件人QQ邮箱账号
my_pass = 'XXXXXXXXX' # 发件人QQ邮箱密码
my_user = 'XXXXXXX@qq.com' # 收件人QQ邮箱账号def mail():ret = Truetry:# msg = MIMEText('填写邮件内容', 'plain', 'utf-8')msg = MIMEMultipart()msg['From'] = formataddr(["陈大帅", my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号msg['To'] = formataddr(["陈大帅", my_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号msg['Subject'] = "树莓派IP地址" # 邮件的主题,也可以说是标题# 邮件正文内容msg.attach(MIMEText(ip, 'plain', 'utf-8'))server = smtplib.SMTP_SSL("smtp.qq.com", 465) # 发件人邮箱中的SMTP服务器,端口是25server.login(my_sender, my_pass) # 括号中对应的是发件人邮箱账号、邮箱密码server.sendmail(my_sender, [my_user, ], msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件server.quit() # 关闭连接except Exception: # 如果 try 中的语句没有执行,则会执行下面的 ret=Falseret = Falsereturn ret# 检查网络连同性
def check_network():while True:try:result=urllib.request.urlopen('https://www.baidu.com').read()print(result)print("Network is Ready!")breakexcept Exception:print(err)print("Network is not ready,Sleep 5s....")time.sleep(5)return True# 获得本级制定接口的ip地址
def get_ip_address():s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.connect(("1.1.1.1",80))ipaddr=s.getsockname()[0]s.close()return ipaddrtime.sleep(20)
check_network()
ip=get_ip_address()
ret = mail()
if ret:print("OK")
else:print("error")
需要注意的是QQ邮箱必须要打开SMTP服务才行(花了我4角钱 心痛o((>ω< ))o),这里的密码不是QQ密码,是一段登陆的授权码。
上一张成功图
两分钟后的更新。。。
突然发现买树莓派时送的资料里有一个ipscaner.exe软件,直接可以搜索到同网下的树莓派的ip地址。上面方法用于装逼使用,若有不适,请用下面这个实用的方法。不让我上传这个软件,说是已经有相同资源了,,,
有需要的又怕百度下出一堆病毒的可以联系我邮箱 jason_chensj@qq.com
树莓派发送自己ip地址到QQ邮箱相关推荐
- QQ邮箱怎么发送文件夹 怎样在QQ邮箱里发送压缩文件夹
有很多用户想要知道怎么样才能通过QQ邮箱来发送自己的一些文件压缩包,应该怎么操作呢?不要慌,现在小编就给大家分享一下,下面一起来学习操作步骤吧! 其实,无论何种邮箱都无法发送文件夹,都只能对文件进行操 ...
- [网络爬虫|smtp协议|python]东方财富网爬虫,python smtp协议发送爬取数据至QQ邮箱
本文改自 [网络爬虫|smtp协议|python]东方财富网爬虫,python smtp协议发送爬取数据至QQ邮箱 之前写的爬虫单子,代码已经跑了快3个月了,后续又增加了一些需求,修改了一些小bug ...
- 树莓派开机自动连接WiFi 及树莓派设置固定IP地址
树莓派实现自动驾驶小车第二步-- 树莓派开机自动连接WiFi 树莓派设置固定IP地址 (内有树莓派连不上WiFi的奇怪bug及解决方案 树莓派开机自动连接WiFi 第一步我们已经通过有线ip ssh连 ...
- 树莓派获取LAN ip地址并发送到微信
方法1:通过hostname获取 树莓派官方系统默认hostname是raspberrypi.local,当启动1-2分钟连上网络以后,可以通过电脑ping raspberrypi.local来获取树 ...
- java邮箱发送验证码_java实现使用QQ邮箱发送验证码功能
首先当然是导入jar包了啊 如果是maven项目可以进maven资源库进行搜索导入,在此附上地址:https://mvnrepository.com 这是需要导入的jar包 commons-emai ...
- 利用SMTP协议实现邮件的发送(以163和qq邮箱为例)
1.实验的准备即环境 1.windows系统 2.telnet 客户端 win10除了需要开启客户端之外还不够,还需要自己下载 telnet server并安装,下载官网:GoodTech Syste ...
- java qq邮箱发送端口号_java实现qq邮箱的发送
准备工作 开启PO3/SMTP服务 打开qq邮箱>账户 记住这串授权码 会用到 java发送qq邮箱实现步骤 创建一个javase的工程 3. 编写核心代码 我这里封装了 也可以不封装 /** ...
- 如何用python发送SMTP邮件(基于QQ邮箱)亲测可用
第一步 首先我们要在QQ邮箱开通SMTP邮件,并生成授权码 设置->账户->生成授权码 通过绑定手机发送短信生成授权码,并保存授权码,一系列英文字母(等会要用) 第二步 确保自己的计算机名 ...
- 邮箱发送验证码实现注册(QQ邮箱)
登录自己的QQ邮箱进入主页面 点击左上角的设置 --> 账户 找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启'POP3/SMTP服务 (如何使用 Fo ...
最新文章
- 自动化测试工具Cucumber的简单介绍
- 从业务到平台的思维转变
- java account函数的_用Java进行同时函数调用 - java
- WorldWind源码剖析系列:外包围盒类BoundingBox和外包围球类BoundingSphere
- JavaScript 温故知新 00
- 使用AspectJ,Javassist和Java Proxy进行代码注入的实用介绍
- redis出现过多command 慢查询slowlog出现command命令
- 洛谷P2114 [NOI2014]起床困难综合症
- 为什么 1KB = 1024Byte???群里讨论。
- 伺服驱动器cn1引脚定义_关于三菱驱动器CN1端口的接线-专业自动化论坛-中国工控网论坛...
- stm32f4产生100k正弦波_STM32_DAC 实验(正弦波_方波_锯齿波_发生器)
- 英语汉语对比学习:名词(一)
- 聊一聊进程、线程和协程以及线程的那些“锁“事
- app注册如何集成语音验证码功能?
- 教你同时分析圆通快递多个单号的物流情况
- Android开发两年,我要跳槽去阿里巴巴了,做个阶段总结,flutterrow高度对齐
- C语言编程--根据麦克劳林公式计算任意角的正弦余弦
- Java全栈学习路线-拭去心尘
- 谷歌html弹出ie页面,如何从谷歌跳转IE,打开指定的网址
- 前端解放生产力之–动画(Adobe Effects + bodymovin + lottie)