无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 14044|回复: 136
打印 上一主题 下一主题

[原创] 一个获取电脑自身公网ip并发送到你自己的邮箱的服务程序

    [复制链接]
跳转到指定楼层
#
发表于 2023-11-14 13:03:57 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 ShareBit 于 2025-2-2 00:10 编辑

在cmd.exe 管理员权限的命令行环境下
安装服务:
ipnotify -install

运行服务:
ipnotify -start

停止服务:
ipnotify -stop

卸载服务:
ipnotify -uninstall

要正确配置与ipnotify 处于同一目录下的 ipnotify.ini文件

[ipnotify]
smtpservername = smtp.qq.com
smtpserverport = 465
securitytype = SSL
account = 10000@qq.com
password = 你的邮箱授权码
sendermail = 10000@qq.com
recipient = 10000@qq.com
mailtitle = "这是我家里的电脑最新IP地址列表"
sleeptime = 300
appendallnetcardip = 1

useipify4 = 1
useipify6 = 1

参数说明:
smtpservername 是 发送邮件的smtp服务器地址
smtpserverport 是发送邮件的smtp服务器的端口
securitytype 合法值为  None, TLS, SSL,这三者之一,需要根据smtp服务器说明进行配置
account 是登录smtp服务器的账号(一般与发件人邮箱相同)
password 是登录smtp服务器的密码,他不一定是发件人的邮箱密码,有可能是授权码,需要根据smtp服务器说明进行配置
sendermail 是发件人邮箱
recipient 是收件人邮箱,如果你不想使用两个邮箱,那么也可以自己发送邮件给自己,也就是这个设置可以与 sendermail 设置为相同
mailtitle 邮件标题,一般用于描述电脑,用于区分是哪一台电脑发送过来的邮件
sleeptime 单位是秒,是轮询检测公网ip地址变化的间隔时间
appendallnetcardip 有效值可以是0,也可以是1,用于说明在发送邮件的时候是否同时把网卡的所有ip地址,也就是包括局域网ip地址信息也叠加到邮件内容里面去

useipify4 有效值可以是0,也可以是1,用于说明是否通过访问 api.ipify.org 去获取电脑的公网ipv4地址
useipify6 有效值可以是0,也可以是1,用于说明是否通过访问 api64.ipify.org 去获取电脑的公网ipv6地址

如果电脑网卡本身有动态公网ipv4或ipv6, 那么useipify4和useipify6可以设置为0,也就是不用去访问外网来获得自己的公网ip信息

配置文件修改之后,需要停止服务,再次开启服务才会生效。只有检测到公网ip发生变化才会发送邮件,一直没变化,就一直不会再次发送。本软件支持从windows xp开始的后续所有windows系统。本软件对应的服务名称是 IPNotify,  服务描述是 ShareBit IPNotify Service

如果使用QQ邮箱,那么只需要去获得邮箱授权码并修改
account = 10000@qq.com
password = 你的邮箱授权码
sendermail = 10000@qq.com
recipient = 10000@qq.com
这几行,别的不用做修改

结果大致如下:


软件下载地址: http://www.qqsdk.com/ipnotify/ipnotify.zip

更新日志:
2023年11月15日 14:40  修改前面版本,在网卡既没有公网ipv4也没有公网ipv6的情况下,被我误判为没有公网ip,从而导致没发送邮件。

2023年11月15日 16:30  配置文件里面增加 appendallnetcardip = 1 选项,让用户自行决定是否邮件内容里面带所有的网卡ip地址,也就是局域网ip地址。

2024年09月24日 16:30  紧急修改。 请重新下载,并停止服务后覆盖 ipnotify.exe, 然后重新开始这个服务。这几天出现:使用QQ邮箱,由于QQ邮件服务器在断开的时候没有反馈回正确的信息,导致这个服务不断的异常退出,然后服务又自己执行起来,执行起来之后再次发送邮件,又继续异常, 不断往复,所以就不断的发送邮件,又接收到邮件。之前的已经配置好的ipnotify.ini不要覆盖,仅仅只需要覆盖ipnotify.exe即可。

2025年01月14日 17:00 特别提醒:这是一个32位程序,如果放到64位windows系统的system32系统目录下,会导致服务无法正常启动,会提示 "系统找不到指定的文件", 所以请一定不要放在64位操作系统的system32系统目录下。

2025年1月25日 22:00
之前程序内部获取自身ipv4公网地址所请求的网址api.ipify.org,看起已经无法正常访问了,从而导致没获取到自身的ipv4公网地址,这次修改为使用v4.ident.me去获取。请重新下载后,停止之前的服务,解压出来只需要覆盖ipnotify.exe后再开始服务即可。

2025年1月26日 01:30
再次改进为ipv4和ipv6的外网ip的获取分别内置了4个网址,避免某些网络环境下屏蔽了部分网站而导致获取失败

2025年1月29日 02:30
在邮件末尾增加了一行邮件产生的时间,大致这样:本邮件生成于 2025.01.29 02:21:45
同时,如果邮件发送失败,会在windows系统的“事件查看器"里面的"Windows 日志" 的 "应用程序" 里面,来源为"ShareBit IPNotify Service" 里面可以查看到信息。

2025.01.30 22:22
再次修改为:内部只要判断邮件发送失败,会延迟1分钟后再重新发送,直到发送成功为止。

2025.01.31 22:56
前面不知道哪一个时候,由于键盘不受控,在我不知情的情况下删除了一行代码,从而导致数据没发送,也就导致邮件永远不会发送成功,已经修改了。

2025.02.02 00:00
修改为:邮件发送失败不再产生Windows事件日志。因为正常情况下不会有发送失败的日志,而不正常的情况下可能较高频率产生很多日志。


评分

参与人数 3无忧币 +15 收起 理由
htmlc4 + 5
BEIKING + 5 非常棒
董大 + 5 赞一个!

查看全部评分

136#
发表于 昨天 17:46 | 只看该作者
ShareBit 发表于 2025-4-28 16:00
电脑具有动态公网ipv6只是能让懂的人远程访问进去,能连进去的一个必要条件。 但是它自身受到光猫或路由 ...

把光猫重启了下,现在能获取到不同的ipv6地址了,并且能远程访问了!之前可能是光猫长时间运行,不能正确动态分配ipv6了!

光猫没有定期自动重启的功能,不方便!

谢谢!
回复

使用道具 举报

135#
发表于 昨天 16:16 | 只看该作者
可以代替动态域名使用吧
回复

使用道具 举报

134#
 楼主| 发表于 昨天 16:00 | 只看该作者
lmg0109 发表于 2025-4-27 18:51
楼主,现在发现每次重启电脑后获取的公网ipv6地址都一样,而且这个地址不能远程访问。
访问icanhazip.com ...

电脑具有动态公网ipv6只是能让懂的人远程访问进去,能连进去的一个必要条件。 但是它自身受到光猫或路由器的防火墙策略的影响,并不是不做处理就能直连进去的,必须要懂怎么设置并且确实能在光猫或者路由器上这么去操作。  如果你是指程序得到的 ipv6地址不对,你可以自己在那电脑上看,去验证。我想不至于得到的是错的。如果你以前能用ipv6访问进去,而现在不能了,这个我大体上只能猜测你的路由器参数发生了变化。
回复

使用道具 举报

133#
发表于 前天 18:51 | 只看该作者
楼主,现在发现每次重启电脑后获取的公网ipv6地址都一样,而且这个地址不能远程访问。
访问icanhazip.com得到的本机公网ipv4地址是:
221.231.49.223

访问icanhazip.com得到的本机公网ipv6地址是:
240e:3a3:8c29:c6e0:6a77:daff:fe20:706

软件作者:ShareBit(QQ号82170290)
本邮件生成于 2025.04.25 08:39:56


访问icanhazip.com得到的本机公网ipv4地址是:
221.231.49.223

访问icanhazip.com得到的本机公网ipv6地址是:
240e:3a3:8c29:c6e0:6a77:daff:fe20:706

软件作者:ShareBit(QQ号82170290)
本邮件生成于 2025.04.27 08:32:51


访问icanhazip.com得到的本机公网ipv4地址是:
221.231.49.223

访问icanhazip.com得到的本机公网ipv6地址是:
240e:3a3:8c29:c6e0:6a77:daff:fe20:706

软件作者:ShareBit(QQ号82170290)
本邮件生成于 2025.04.27 18:41:31








点评

电脑具有动态公网ipv6只是能让懂的人远程访问进去,能连进去的一个必要条件。 但是它自身受到光猫或路由器的防火墙策略的影响,并不是不做处理就能直连进去的,必须要懂怎么设置并且确实能在光猫或者路由器上这么去  详情 回复 发表于 昨天 16:00
回复

使用道具 举报

132#
发表于 6 天前 | 只看该作者
先收藏备用,谢谢。
回复

使用道具 举报

131#
发表于 6 天前 来自手机 | 只看该作者
感谢楼主分享
回复

使用道具 举报

130#
 楼主| 发表于 6 天前 | 只看该作者
长沙猫先生 发表于 2025-4-22 10:14
你好,楼主,看了你的帖子,你发布的软件我想肯定非常好用,你提供的地址已经不能下载了,可以重新提供地址 ...

我实测能下载,所以你再试试看吧。 如果确实怎么都下载不下来,到时加我QQ
回复

使用道具 举报

129#
发表于 7 天前 | 只看该作者
你好,楼主,看了你的帖子,你发布的软件我想肯定非常好用,你提供的地址已经不能下载了,可以重新提供地址分享一下吗?

点评

我实测能下载,所以你再试试看吧。 如果确实怎么都下载不下来,到时加我QQ  详情 回复 发表于 6 天前
回复

使用道具 举报

128#
发表于 2025-2-27 13:43:33 | 只看该作者
bg4nml 发表于 2025-2-27 10:50
大佬们谁教一下怎么安装,老白一个

装好了!很好用!感觉比域名解析安全!
回复

使用道具 举报

127#
发表于 2025-2-27 10:50:43 | 只看该作者
大佬们谁教一下怎么安装,老白一个
回复

使用道具 举报

126#
发表于 2025-2-2 21:26:53 来自手机 | 只看该作者
好工具,有个提议,能否支持一下推送加或者server酱,更方便。
回复

使用道具 举报

125#
发表于 2025-2-2 19:21:38 | 只看该作者
谢谢分享,试试
回复

使用道具 举报

124#
 楼主| 发表于 2025-2-2 01:12:16 | 只看该作者
lmg0109 发表于 2025-2-2 00:55
您说:发送邮件失败最好是不产生日志
但之前这个版本的功能希望还保留!见下面:
2025.01.30 22:22

是的,发送失败会间隔一分钟(如果是发送或者接收数据失败,则大约一共是6分钟)继续发送,只是邮件发送失败不再写windows事件日志了。
回复

使用道具 举报

123#
发表于 2025-2-2 00:55:18 | 只看该作者
ShareBit 发表于 2025-2-2 00:48
2025.02.02 00:00
修改为:邮件发送失败不再产生Windows事件日志。因为正常情况下不会有发送失败的日志, ...

您说:发送邮件失败最好是不产生日志
但之前这个版本的功能希望还保留!见下面:
2025.01.30 22:22
再次修改为:内部只要判断邮件发送失败,会延迟1分钟后再重新发送,直到发送成功为止。

点评

是的,发送失败会间隔一分钟(如果是发送或者接收数据失败,则大约一共是6分钟)继续发送,只是邮件发送失败不再写windows事件日志了。  详情 回复 发表于 2025-2-2 01:12
回复

使用道具 举报

122#
 楼主| 发表于 2025-2-2 00:48:16 | 只看该作者
2025.02.02 00:00
修改为:邮件发送失败不再产生Windows事件日志。因为正常情况下不会有发送失败的日志,而不正常的情况下可能较高频率产生很多日志。
回复

使用道具 举报

121#
发表于 2025-2-2 00:45:07 | 只看该作者
本帖最后由 lmg0109 于 2025-2-2 00:47 编辑
ShareBit 发表于 2025-2-1 23:50
这是邮件产生的时间,这个时间是不会改变的,比如说开机后就会产生邮件,就有了这一封邮件的生成时间,但 ...

错误ID时间:22:48:28(收到邮件正文尾部生成时间与此时间相同,邮件时间显示为22:49,不显示到秒)

邮件被收到的时间,就是上面括号内后面的22:49,因为邮件的详情中不显示到秒,所以看不到具体的秒数。

由此看来,生成的这个错误ID时间与邮件被收到的时间相差并不大!
回复

使用道具 举报

120#
 楼主| 发表于 2025-2-1 23:50:27 | 只看该作者
本帖最后由 ShareBit 于 2025-2-1 23:53 编辑
lmg0109 发表于 2025-2-1 23:42
级别        日期和时间        来源        事件 ID        任务类别
信息        2025-02-01 22:48:28(收到邮件正文尾部生成时间与此时间 ...

这是邮件产生的时间,这个时间是不会改变的,比如说开机后就会产生邮件,就有了这一封邮件的生成时间,但是真正发送出去则可能是几天之后。 我现在问的是:究竟什么时候发送出去的? 也就是看邮件详情或者看邮件被收到的那个时间。 因为这个问题本质是:某一些资源没有被初始化完整或者说有一些相关的东西没准备充分,从而导致了发送失败,但这个充分完整需要多久呢? 这就是产生日志与接收到邮件这个时间差。 如果相差一分钟或者几分钟,那么这个日志信息最好的做法就是没有,也就是发送邮件失败最好是不产生日志,因为程序正确,你看到了这个发送失败的日志是多余的,毫无意义的,无法改变的,属于测试阶段有点用,但实际使用可能有副作用(比如说一直没联网,那么一天就有很多条发送失败的日志)
回复

使用道具 举报

119#
发表于 2025-2-1 23:42:16 | 只看该作者
ShareBit 发表于 2025-2-1 23:05
产生 Error: Undefined error id. 的事件时间,与实际第一封邮件被收到,大约间隔多久? 是1分钟还是几分 ...

级别        日期和时间        来源        事件 ID        任务类别
信息        2025-02-01 22:48:28(收到邮件正文尾部生成时间与此时间相同,邮件时间显示为22:49,不显示到秒)        ShareBit IPNotify Service        16        无        Error: Undefined error id.
.
信息        2025-02-01 22:48:25        ShareBit IPNotify Service        1        无        """ShareBit IPNotify Service"" started successfully."
信息        2025-02-01 22:39:42(收到邮件正文尾部生成时间与此时间相同,邮件时间显示为22:40,不显示到秒)        ShareBit IPNotify Service        16        无        Error: Undefined error id.
.
信息        2025-02-01 22:39:41        ShareBit IPNotify Service        1        无        """ShareBit IPNotify Service"" started successfully."

点评

这是邮件产生的时间,这个时间是不会改变的,比如说开机后就会产生邮件,就有了这一封邮件的生成时间,但是真正发送出去则可能是几天之后。 我现在问的是:究竟什么时候发送出去的? 也就是看邮件详情或者看邮件被收  详情 回复 发表于 2025-2-1 23:50
回复

使用道具 举报

118#
 楼主| 发表于 2025-2-1 23:05:25 | 只看该作者
lmg0109 发表于 2025-2-1 22:10
感谢楼主尽善尽美!辛苦了!
经测试最新版本,重启后日志记录依然会产生一个未定义的错误id
...

产生 Error: Undefined error id. 的事件时间,与实际第一封邮件被收到,大约间隔多久? 是1分钟还是几分钟?
回复

使用道具 举报

117#
发表于 2025-2-1 22:27:26 | 只看该作者
谢谢分享,备用
回复

使用道具 举报

116#
发表于 2025-2-1 22:10:31 | 只看该作者
本帖最后由 lmg0109 于 2025-2-1 22:58 编辑
lmg0109 发表于 2025-2-1 10:36
感谢楼主及时更新!

修正后的版本,在关机后再开机能正常发送邮件!

感谢楼主尽善尽美!辛苦了!
经测试最新版本,重启后日志记录依然会产生一个未定义的错误id
如果不好解决,请楼主忽略!我仅是反馈一下结果,谢谢!
日志记录如下:

级别        日期和时间        来源        事件 ID        任务类别
信息        2025-02-01 22:48:28        ShareBit IPNotify Service        16        无        Error: Undefined error id.
.
信息        2025-02-01 22:48:25        ShareBit IPNotify Service        1        无        """ShareBit IPNotify Service"" started successfully."

信息        2025-02-01 22:39:42        ShareBit IPNotify Service        16        无        Error: Undefined error id.
.
信息        2025-02-01 22:39:41        ShareBit IPNotify Service        1        无        """ShareBit IPNotify Service"" started successfully."

点评

产生 Error: Undefined error id. 的事件时间,与实际第一封邮件被收到,大约间隔多久? 是1分钟还是几分钟?  详情 回复 发表于 2025-2-1 23:05
回复

使用道具 举报

115#
 楼主| 发表于 2025-2-1 18:59:35 | 只看该作者
dyc086 发表于 2025-2-1 14:30
作者你是内置了哪4个网址,有些网址需要添加一下直连。

char* ipV4Servers[] = {"icanhazip.com", "ifconfig.me", "whatismyip.akamai.com", "v4.ident.me"};
char* ipV6Servers[] = {"icanhazip.com", "ifconfig.me", "v6.ident.me", "api64.ipify.org"};
回复

使用道具 举报

114#
发表于 2025-2-1 14:30:48 | 只看该作者
ShareBit 发表于 2025-1-26 01:32
2025年1月26日 01:30
再次改进为ipv4和ipv6的外网ip的获取分别内置了4个网址,避免某些网络环境下屏蔽了部 ...

作者你是内置了哪4个网址,有些网址需要添加一下直连。

点评

char* ipV4Servers[] = {"icanhazip.com", "ifconfig.me", "whatismyip.akamai.com", "v4.ident.me"}; char* ipV6Servers[] = {"icanhazip.com", "ifconfig.me", "v6.ident.me", "api64.ipify.org"};  详情 回复 发表于 2025-2-1 18:59
回复

使用道具 举报

113#
发表于 2025-2-1 14:22:29 | 只看该作者
20250131发的版本终于可以公网IP改变正常发送邮件了
回复

使用道具 举报

112#
发表于 2025-2-1 12:40:01 | 只看该作者
楼主辛苦了
回复

使用道具 举报

111#
发表于 2025-2-1 12:09:54 | 只看该作者
领教了
回复

使用道具 举报

110#
 楼主| 发表于 2025-2-1 11:58:58 | 只看该作者
本帖最后由 ShareBit 于 2025-2-1 12:02 编辑
lmg0109 发表于 2025-2-1 10:36
感谢楼主及时更新!

修正后的版本,在关机后再开机能正常发送邮件!

虽然这个不算是一个问题,但我还是又改了一下。 根据你的日志,大体猜测是第一次执行到发送邮件那个位置太快了一点,有可能有某种未知的东西(操作系统级的而不是我软件内部的资源)没得到初始化之类的,所以我在第一次的时候加上了10秒的延迟,然后才开始测试ip地址和后续的发送邮件。
回复

使用道具 举报

109#
发表于 2025-2-1 10:36:35 | 只看该作者
ShareBit 发表于 2025-1-31 22:55
已经破案了,前面不知道哪个时候,我的键盘有点不受控,我自己也没太留意,但却导致了删除了一行代码,而 ...

感谢楼主及时更新!

修正后的版本,在关机后再开机能正常发送邮件!

直接重启电脑,有时日志记录会产生一个未定义的错误ID,但至少等会能收到邮件。
日志记录如下:
级别        日期和时间        来源        事件 ID        任务类别
信息        2025-02-01 10:06:22        ShareBit IPNotify Service        16        无        Error: Undefined error id.
.
信息        2025-02-01 10:06:21        ShareBit IPNotify Service        1        无        """ShareBit IPNotify Service"" started successfully."

点评

虽然这个不算是一个问题,但我还是有改了一下。 根据你的日志,大体猜测是第一次执行到发送邮件那个位置太快了一点,有可能有某种未知的东西没得到初始化之类的,所以我在第一次的时候加上了10秒的延迟,然后才开始  详情 回复 发表于 2025-2-1 11:58
回复

使用道具 举报

108#
 楼主| 发表于 2025-1-31 22:55:43 | 只看该作者
lmg0109 发表于 2025-1-31 16:39
感谢楼主回复!经查网络没问题,我是通过向日葵客户端连在远程电脑上,能连代表网络没问题!
邮件服务器 ...

已经破案了,前面不知道哪个时候,我的键盘有点不受控,我自己也没太留意,但却导致了删除了一行代码,而我完全不知道。 刚才我自测发现确实不发送邮件,对照代码之后,才发现了这一点,已经修改了,重新下载使用。 至于后面的那一个6分钟的事情,与你设置的那个300秒是没关系的,而是我内部的发送和接收设置了一个5分钟的超时时间,前面那个等于是我没发送数据出去,但却等着接收数据,这显然是错误的。
回复

使用道具 举报

107#
发表于 2025-1-31 16:39:38 | 只看该作者
本帖最后由 lmg0109 于 2025-1-31 22:26 编辑
ShareBit 发表于 2025-1-31 11:23
你反馈的问题,在正常的网络和邮件服务之下,从来就不应该存在。 但既然存在了,你应该着手看看你自己的 ...

感谢楼主回复!经查网络没问题,我是通过向日葵客户端连在远程电脑上,能连代表网络没问题!
邮件服务器我也测试了,我使用的qq邮箱,发了一份邮件给自己也没问题!
在升级这个最新版本之前,关机后重新开机倒是能发邮件的。

最新版本如果没发成功,每隔1分钟不断重发,我这边查了应用程序日志,每笔日志信息确实是间隔了(sleeptime+1)分钟,只不过我的论坛账号为新用户,无法上传截图。

当直接重启电脑时,又多了一个错误信息:Error: SSL problem.

★以下为关机后再开机产生的日志记录(sleeptime为5分钟):
级别        日期和时间        来源        事件 ID        任务类别
信息        2025-01-31 22:07:21        ShareBit IPNotify Service        16        无        Error: Undefined xyz SMTP response.
.
信息        2025-01-31 22:01:20        ShareBit IPNotify Service        16        无        Error: Undefined xyz SMTP response.
.
信息        2025-01-31 21:55:20        ShareBit IPNotify Service        16        无        Error: Undefined error id.
.
信息        2025-01-31 21:55:20        ShareBit IPNotify Service        1        无        """ShareBit IPNotify Service"" started successfully."

★以下为直接重启电脑产生的日志记录(sleeptime为5分钟):
级别        日期和时间        来源        事件 ID        任务类别
信息        2025-01-31 22:20:18        ShareBit IPNotify Service        16        无        Error: Undefined xyz SMTP response.
.
信息        2025-01-31 22:14:18        ShareBit IPNotify Service        16        无        Error: SSL problem.
.
信息        2025-01-31 22:08:55        ShareBit IPNotify Service        1        无        """ShareBit IPNotify Service"" started successfully."








点评

已经破案了,前面不知道哪个时候,我的键盘有点不受控,我自己也没太留意,但却导致了删除了一行代码,而我完全不知道。 刚才我自测发现确实不发送邮件,对照代码之后,才发现了这一点,已经修改了,重新下载使用。  详情 回复 发表于 2025-1-31 22:55
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-4-29 19:09

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表