百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

编写检测本机ipv6地址并发邮件的python程序

off999 2024-12-13 15:37 27 浏览 0 评论

上期有提到自己用Python编写了检测本机ipv6的小程序,本期就详细讲解一下实现过程,大家也可以在此基础上修改,达到自己的目的

第一步导入需要用到的库

import smtplib
from email.mime.text import MIMEText
import requests
import json

第二步,设置邮箱账号信息,这里用一个txt文件保存,名称定为“email_info.txt”,方便后期修改信息。username和send_mail都是发件箱的邮箱地址,receive_mail也可以设置成发件箱地址或者其他邮箱地址。mail_host和port和发件箱服务商有关,我这里直接以QQ为例,其他邮箱大家自己查询研究一下。mail_subject是指邮箱的标题,大家可以自己编写。最关键的password并不是指QQ邮箱密码,而是指POP3/SMTP服务的授权码,大家可以在QQ邮箱中设置上开通。



相关python代码如下

# 账号设置
f = open('email_info.txt', encoding='utf-8')
f_text = f.readlines()
f_list = []
for j in f_text:
    f_list.append(j.split('=')[1].strip())
username = f_list[0]  # qq邮箱用户名
password = f_list[1]  # qq邮箱授权码
send_mail = f_list[2]  # 发送地址,可以同上用户名
receive_mail = f_list[3]  # 接受邮件的地址,可以用发件箱,自发自收
mail_host = f_list[4]  # QQ邮箱的mail host
port = int(f_list[5])  # 设置端口号
mail_subject = str(f_list[6])  # 设置邮件主题
f.close()

第三步,生成一个存储每次查询到的ip地址的文件,名称为“run_log.txt”,下面为示例图


相关python代码如下,主要是通过http://ipw.cn这个网站进行查询,下面代码直接请求的是网站的json地址

# 查找上次的ip地址,作为是否要发邮件的判断条件
f1 = open('run_log.txt')
former_ips = f1.readlines()
former_ip = former_ips[-1]
f1.close()

ip = ''
for i in range(3):
    # 获取IP地址
    url = "https://6.ipw.cn/api/ip/myip?json"
    response = requests.get(url, timeout=20)
    if response.status_code == 200:
        ip = json.loads(response.content)['IP']
        break

第四步,设置发送邮件,相关代码如下

if (ip != '') and (ip != former_ip):
    # 保存记录
    f2 = open('run_log.txt', mode='a+')
    f2.write('\n'+ip)
    f2.close()

    # 内容设置
    mes = MIMEText(ip, 'plain', 'utf-8')
    mes['Subject'] = mail_subject
    mes['From'] = send_mail
    mes['To'] = receive_mail

    # 发送
    server = smtplib.SMTP(mail_host, port)
    server.ehlo() 
    server.starttls()
    server.login(username, password)
    server.sendmail(send_mail, receive_mail, mes.as_string())
    server.quit()

第五步,通过python的pyinstaller将代码打包成一个文件,pycharm可以在Terminal中输入“pyinstaller -F -w ip_reporter.py”进行打包,成功后,可以在名为“dist”文件夹中找到exe文件,如下图。将“email_info.txt”和“run_log.txt”放在ip_reporter.exe同文件夹下,就可以双击运行ip_reporter了。


最后一步,设置任务计划程序,新建txt文件,输入以下代码。最后将文件的后缀txt修改成bat,把文件放在第五步三个文件同文件目录下。并将这个文件夹放置在C盘任意目录下。以管理员权限运行bat文件,最后可以看到任务计划程序中就可以看到创建的任务计划,这个计划开机自启,并每5分钟会启动一次,每次启动会运行程序,如果发现ip与上次的ip发生了变化,就会自动发送邮件。手机接收的效果如图。

@ECHO OFF
REM https://msdn.microsoft.com/zh-cn/library/windows/desktop/bb736357(v=vs.85).aspx

SET RUNCMD="cmd /c 'cd %~dp0 & ip_reporter.exe'"

SET RUN_USER=%USERNAME%
WHOAMI /GROUPS | FIND "12288" > NUL && SET RUN_USER="SYSTEM"

ECHO Create task run as %RUN_USER%
schtasks /Create /SC MINUTE /MO 5 /TR %RUNCMD% /TN "IP_Reporter" /F /RU "%RUN_USER%"

PAUSE


本期内容结束,本次方法只限用于ipv6,ipv4地址需修改查询ipv4地址的网址,大家可以自行研究。欢迎留言、点赞、收藏、关注。

相关推荐

win7连不上win10打印机拒绝访问

原因及解决方法:1.在Win10Cortana搜索框中,搜索控制面板将打开;2.转到控制面板,选择查看方法作为一个小图标,然后单击程序和功能;3.单击以启用或禁用Windows功能选项;4....

电脑主机不启动但通电(电脑主机开机不通电没反应)

第1步:首先检查电脑的外部接线是否接好,把各个连线重新插一遍,看故障是否排除。第2步:如果故障依旧,接着打开主机箱查看机箱内有无多余金属物,或主板变形造成的短路,闻一下机箱内有无烧焦的糊味,主板上有无...

苹果一体机怎么重装系统(苹果一体机重装系统win10)

苹果更换硬盘后,如果您没有创建一个启动磁盘或者使用TimeMachine备份系统,您可以按照以下步骤重新安装操作系统:1.准备一个可用于安装系统的启动磁盘。您可以使用官方提供的macOS安装介质(...

装系统的u盘怎么制作(装系统怎么制作u盘启动盘)
装系统的u盘怎么制作(装系统怎么制作u盘启动盘)

1、下载安装u当家u盘启动盘制作工具,完成之后打开该软件2、将之前准备好的U盘插入电脑,U当家会自动识别并选为默认,如果有多个U盘可以在“选择U盘”的下拉框中选择要制作成U盘启动盘的U盘。3、点击下面的“一键制作”按钮。(如果是电脑主板是U...

2025-11-15 07:03 off999

台电u盘怎么样

感觉台电U盘还是可以的,我知道台电是国内最成功的数码产品制造商之一,是一个致力于IT及消费数码类产品研发、生产、销售及服务的一体化品牌,U盘很好用,用的人很多。威刚是480Mbit/S只是USB2...

u盘重装系统蓝屏进不去(u盘装系统重启蓝屏)

尊敬的用户您好:可按下面的步骤进行系统盘装系统:1.买一张win7光盘,将系统光盘放入光驱里。2.打开电源,然后观察屏幕的提示,在启动系统之前有按“f2进行bios设置。3.设置启动方式。找到boot...

win快捷键大全(win快捷键大全表)

win快捷键:单独按Windows:显示或隐藏“开始”功能表Windows+BREAK:显示“系统属性”对话框Windows+D:显示桌面或恢复桌面Windows+M:最小化所有窗口Windows...

u盘突然要格式化怎么回事(用着的u盘突然要格式化)

U盘提示格式化的原因可能有以下几点:文件系统损坏:U盘的文件系统可能出现损坏,导致无法正常读取和写入数据。病毒感染:U盘可能被病毒感染,病毒会破坏文件系统或隐藏文件。不兼容的文件系统:U盘可能使用了一...

路由器pppoe怎么设置(路由器如何设置pppoe上网)

移动宽带PPPOE是不用设置的,你只要把帐号和密码填上其他都不选就能上网。但是要注意连接到你电脑的网线是直接经过一个路由器后连接到猫上的,因为我见过有人是这样连接的猫---路由器---路由器---电脑...

win7桌面图标设置在哪里(win7桌面图标在哪个文件夹)

要调出Win7桌面图标,首先需要进入桌面。可以通过点击任务栏上方的“显示桌面”按钮或按下Windows键+D快捷键进入桌面。在桌面上右键单击空白区域,选择“个性化”,然后选择“更改桌面图标”选项。在弹...

win7手机壁纸(windows7手机桌面主题)

1.首先我们打开手机进入到桌面,找到设置图标点击打开。华为手机如何设置自定义锁屏壁纸2.进入到设置界面之后,点击下方的显示选项。华为手机如何设置自定义锁屏壁纸3.然后我们就可以在显示界面中找到壁纸...

怎么开启路由器wifi(怎么开启路由器的dhcp功能)

把路由器改为开放网络方法如下:1、打开浏览器,在地址栏输入路由器网关IP地址(路由器背后的标签上有,一般是192.168.1.1),输入登录用户名和密码(一般均为admin);2、登录成功后就显示运行...

win10加载不出来桌面黑屏(window10加载不出来)

方法一、如果是遇到了突发性黑屏首先尝试使用Ctrl+Alt+Delete组合键来进行电脑重启一般重启可以解决大部分黑屏故障。win10电脑黑屏按什么键恢复_win10电脑黑屏一键恢复的方法方法...

怎么用火绒关闭win安全中心(win10火绒安全软件怎么关闭)

一、火绒防火墙关闭方法在电脑上运行火绒软件后,点击首页界面的“防护中心”,在病毒防护界面可以关闭文件、U盘、邮件等保护功能,。系统防护:在该界面可以关闭系统防护功能,。网络防护:可以关闭网络保护等功...

微软应用商店下载手机版(微软应用商店在哪下)

、在桌面任务栏找到微软应用商店,点击并打开。2、进入页面后点击【应用】,进入应用页面。3、在页面里往下移动,找到热门应用,找到一个软件,点击进入。4、进入页面后,点击【安装】,软件会自动安装,安装完毕...

取消回复欢迎 发表评论: