「LUCKY STUN穿透」使用邮件通知端口变化情况

news/2026/1/23 19:18:53/文章来源:https://www.cnblogs.com/ie123610/p/19512100

「LUCKY STUN穿透」使用邮件通知端口变化情况

「LUCKY STUN穿透」使用邮件通知端口变化情况

2024.05.21

在之前的一系列教程中我们介绍了一些STUN的用法
其中也包括了固定或更新端口的方法

但还有许多服务我们还不能实现固定端口
或自动化的修改端口 需要手动重新设置

这也意味着每当穿透端口发生变化后
需要以某种方式通知我们以便及时的修改端口

尽管一般来讲 STUN 穿透端口不会非常频繁的变化
但当其被应用在远程访问或者组网的时候
及时的通知端口变化情况就显得十分重要了

这里选择使用邮件进行通知
即当端口发生变化后发出一封邮件以提示我们更换端口
感谢 泥浆 提供的帮助


开启SMTP服务

想要发邮件自然需要邮箱
我们将要使用 SMTP(简单邮件传输协议)来发送邮件

这里推荐网易的邮箱 126和163皆可
主要是设置起来比较方便

其他的邮箱例如 QQ邮箱 Google邮箱 Outlook其实也可以
但可能存在额外的安全设置 (没有经过测试)


网易邮箱开启SMTP服务

可以参考网易的帮助网页:链接

按照链接或图中内容的操作即可获得 授权码
选择 IMAP/SMTP服务即可

安装Curl

在开启了邮箱的SMTP服务后
我们还需要一个支持SMTP协议的客户端程序

这里选择 curl 因为 其安装和使用起来都很方便
无论是在Windows上还是Linux中(docker)

安装方法可以查看之前的教程:
「LUCKY STUN穿透」使用 cURL 自动修改 Transmission 的监听端口

测试脚本

在完成上述的准备工作后就可以开始发送邮件了
先在lucky的 计划任务 中进行测试 成功后
再填写进 STUN 规则的自定义规则

创建计划脚本

子规则选择 自定义脚本 其他选项任意设置
不填写脚本内容先保存计划任务

关闭规则开关 我们只使用手动触发

Windows平台

lucky 在运行批处理脚本时似乎存在一些编码问题
导致中文字符无法正常显示 即使切换编码到UTF-8也不行

所以这里选择的方法是创建独立的批处理文件
然后在lucky的自定义脚本中调用 这样就不用担心编码问题了

而 端口号 规则名称 以及 授权码将通过传参的形式发给批处理脚本
因为在发送邮件时要写临时文件 在临时文件名中加入穿透规则的名称
可防止多个规则之间互相干扰

虽然授权码是固定的 完全可以写在批处理中但这样明文存储还是有些危险
存储在lucky的配置文件中相对安全一些 其有一些加密措施

创建批处理

创建一个批处理文件 并填写下列命令部分参数按照实际情况填写
批处理文件存放的位置可任意选择但名称和路径中不要有中文和空格
正确示例:C:\STUN_send_mail.bat

其中发件人邮箱和收件人邮箱可以相同即自己发邮件给自己
流程很简单先创建要发送的邮件内容》发送》删除临时文件

如果用的是126邮箱就直接按照示例 填写STMP服务器地址即可
若是163邮箱将126修改为163即可端口用不变即 smtp.163.com

@echo off
chcp 65001set "port=%1"
set "rulename=%2"
set "token=%3"
set "mail=%tmp%\%rulename%mail.txt"echo From: 发件人邮箱 > %mail%
echo To: 收件人邮箱 >> %mail%
echo Subject: STUN穿透规则%rulename%端口变化 >> %mail%
echo. >> %mail%
echo 穿透规则%rulename%端口已变化,新端口号:%port% >> %mail%curl --ssl-no-revoke --url "smtps://SMTP服务器地址(使用TLS)"  --user "发件人邮箱@之前的部分:%token%"  --mail-from "发件人邮箱"  --mail-rcpt "收件人邮箱"  -T %mail%del %mail%echo Mail has been sentpause

示例

@echo off
chcp 65001set "port=%1"
set "rulename=%2"
set "token=%3"
set "mail=%tmp%\%rulename%mail.txt"echo From: ie12@126.com > %mail%
echo To: ie12@126.com >> %mail%
echo Subject: STUN穿透规则%rulename%端口变化 >> %mail%
echo. >> %mail%
echo 穿透规则%rulename%端口已变化,新端口号:%port% >> %mail%curl --ssl-no-revoke --url "smtps://smtp.126.com:465"  --user "ie12:%token%"  --mail-from "ie12@126.com"  --mail-rcpt "ie12@126.com"  -T %mail%del %mail%echo Mail has been sentpause

创建完成后我们先在命令提示符中进行测试
传参顺序》端口号-规则名称-授权码

若设置都正确即可收到邮件并看到 curl 的发送记录
如果存在错误 则可在此阶段进行排查
出现"Login denied" 请检查授权码是否正确

命令提示符测试通过之后再放到 计划任务 中进行测试
应能收到邮件并有相同的日志输出

Linux(docker)平台

在Linux下的命令比Windows下要简单一些
编辑计划任务并按照实际情况填写下列命令

其中发件人邮箱和收件人邮箱可以相同即自己发邮件给自己
流程很简单先创建要发送的邮件内容>发送>删除临时文件

如果用的是126邮箱就直接按照示例 填写STMP服务器地址即可
若是163邮箱将126修改为163即可端口用不变即 smtp.163.com

echo -e 'From: 发件人邮箱\nTo: 收件人邮箱\nSubject: STUN穿透规则${ruleName}端口变化\n\n 穿透规则${ruleName}端口已变化,新端口号:${port}' > /tmp/${ruleName}mail.txtcurl --url 'smtps://SMTP服务器地址(使用TLS)' --user '发件人邮箱@之前的部分:授权码' --mail-from '发件人邮箱' --mail-rcpt '收件人邮箱' -T /tmp/${ruleName}mail.txt 2>&1rm /tmp/${ruleName}mail.txt

示例

echo -e 'From: ie12@126.com\nTo: ie12@126.com\nSubject: STUN穿透规则${ruleName}端口变化\n\n 穿透规则${ruleName}端口已变化,新端口号:${port}' > /tmp/${ruleName}mail.txtcurl --url 'smtps://smtp.126.com:465' --user 'ie12:ABCDEFG' --mail-from 'ie12@126.com' --mail-rcpt 'ie12@126.com' -T /tmp/${ruleName}mail.txt 2>&1rm /tmp/${ruleName}mail.txt

有些shell还支持 “过程替换” (process substitution)
可以不用创建临时文件 直接进行发送
详见:链接

curl --url 'smtps://SMTP服务器地址(使用TLS)'  --user '发件人邮箱@之前的部分:授权码'  --mail-from '发件人邮箱'  --mail-rcpt '收件人邮箱'  -T <(echo -e 'From: 发件人邮箱\nTo: 收件人邮箱\nSubject: STUN穿透规则${ruleName}端口变化\n\n 穿透规则${ruleName}端口已变化,新端口号:${port}') 2>&1

示例

curl --url 'smtps://smtp.126.com:465'  --user 'ie12:ABCDEFG'  --mail-from 'ie12@126.com'  --mail-rcpt 'ie12@126.com' -T <(echo -e 'From: ie12@126.com\nTo: ie12@126.com\nSubject: STUN穿透规则${ruleName}端口变化\n\n 穿透规则${ruleName}端口已变化,新端口号:${port}') 2>&1

完成后按下测试按钮查看日志输出
应该可以看到curl的发送记录并接收到邮件

如果存在错误 则可在此阶段进行排查
出现"Login denied" 请检查授权码是否正确


编辑STUN规则

Windows

将测试好的命令复制到 STUN 规则的自定义脚本区域
端口号 规则名称 使用变量替代 其中规则名称不要包含中文

若在自定义脚本区域已经有命令则应按照流程顺序进行排列
并使用vbs脚本设置间隔 详情见 第一期的教程

Linux(docker)

直接将命令复制到 STUN 规则的自定义脚本中即可
若在自定义脚本区域已经有命令则应按照流程顺序进行排列
并使用sleep设置间隔


参考资料

  • https://blog.csdn.net/Dancen/article/details/109730392
  • https://www.cnblogs.com/yiminlin/p/17030412.html
  • https://opswill.com/articles/curl-smtp-send-mail.html

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

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

相关文章

「LUCKY STUN穿透」在Windows下使用VNT组网为非HTTP服务固定STUN穿透端口

「LUCKY STUN穿透」在Windows下使用VNT组网为非HTTP服务固定STUN穿透端口「LUCKY STUN穿透」在Windows下使用VNT组网为非HTTP服务固定STUN穿透端口 2024.10.23 索引文章结构 索引 │ ├─关于本教程 │ ├─已知的解决…

2026年 强磁磁铁厂家推荐排行榜,方块强磁、橡胶磁铁,工业级高吸附力磁体源头工厂精选

2026年强磁磁铁厂家推荐排行榜:聚焦方块强磁与橡胶磁铁的工业级高吸附力源头工厂 在工业制造、新能源、电子电器及自动化设备等领域,强磁磁铁(尤其是钕铁硼永磁体,俗称“强磁”)与橡胶磁铁作为核心功能材料,其性…

【Azure APIM】APIM的自建网关如何解决自签名证书的受信任问题呢?(方案三)

问题描述 在先前的四篇博文 1:【Azure APIM】APIM的自建网关如何解决自签名证书的受信任问题呢?(方案二) 2:【Azure APIM】APIM的自建网关如何解决自签名证书的受信任问题呢?(方案一) 3:【Azure APIM】如何解决…

AI大模型微调指南:告别“炼丹”玄学,用数据与科学打造专属模型

AI大模型微调指南:告别“炼丹”玄学,用数据与科学打造专属模型引言:为什么你需要掌握大模型微调? 在人工智能浪潮中,大型语言模型(LLM)如GPT、LLaMA、通义千问等已展现出惊人的通用能力。然而,你是否曾遇到这样…

安全加固相关内容

安全加固 核心原则为:最小权限原则以及纵深防御 指通过减少攻击面来提高系统安全性的过程。这是一个多层面的工作,通常遵循“纵深防御”(Defense in Depth)的原则,从底层系统到上层应用逐层进行。 以下是通用的安…

2026年优质建筑材料检测服务商推荐与机构选择指南

在建筑材料检测的过程中,有效的内容概要不仅帮助读者快速了解文章脉络,也方便他们掌握核心信息。本篇文章围绕建筑材料检测服务的重要性,提供了对检测机构选择的实用建议。此外,我们将探讨值得信赖的检测服务商,分…

Product Hunt 每日热榜 | 2026-01-23

1. ChartGen AI 标语&#xff1a;几秒钟内将数据转化为专业的图表&#xff0c;获取深刻见解。 介绍&#xff1a;来自Ada.im团队的ChartGen AI是一款智能图表生成器&#xff0c;它可以将原始数据转化为节省成本的洞察。这个工具特别帮助在线营销人员将来自不同平台的数据&…

FPGA教程系列-Vivado Aurora 8B/10B IP核接口解析 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

TB132FU原厂刷机包免费下载_CN_ZUI_16

原厂刷机包下载 https://pan.quark.cn/s/7bcaee17dad9联想平板小新Pad Pro 2022 11.2英寸 平板电脑原厂刷机包下载 转载请标注来源:https://www.cnblogs.com/mianfeijiaocheng/p/19523822 所有固件都是我手动上传的,…

2026年磁铁厂家推荐排行榜:铁氧体/钕铁硼/无线充/耐高温/单面/瓦形/沉头孔/方形/圆形/异形/圆环磁铁,源头实力与创新应用深度解析

2026年磁铁厂家推荐排行榜:铁氧体/钕铁硼/无线充/耐高温/单面/瓦形/沉头孔/方形/圆形/异形/圆环磁铁,源头实力与创新应用深度解析 磁性材料作为现代工业的“隐形骨骼”,其性能与品质直接关系到下游终端产品的可靠性…

如何进行员工绩效评估

帕特里夏金(Patricia King)在她的《绩效计划与评估》一书中指出,法律要求绩效评估必须:与工作相关且有效;基于对工作的透彻分析;为所有员工标准化;不偏against任何种族,肤色,性别,宗教或国籍;并由对该人或工…

区块链去中心化存储的Prompt工程:提示工程架构师的数据管理

区块链去中心化存储与Prompt工程协同&#xff1a;提示架构师的数据管理实践指南 一、引言&#xff1a;当Prompt工程遇到数据存储的“阿喀琉斯之踵” 假设你是一位资深的Prompt工程架构师&#xff0c;正在为某大型AI模型设计用户意图理解的提示策略。为了让Prompt更精准&#…

Ubuntu 上搜狗输入法突然“消失 / 只能英文”的排查与修复教程

Ubuntu 上搜狗输入法突然“消失 / 只能英文”的排查与修复教程 适用场景&#xff1a;Ubuntu 桌面系统里原本装了搜狗输入法&#xff08;Sogou Pinyin&#xff09;&#xff0c;突然只能输入英文&#xff1b;找不到切换快捷键&#xff1b;输入法图标不见或无法切换到中文。 典型原…

亲测好用10个AI论文平台,助你轻松搞定本科生毕业论文!

亲测好用10个AI论文平台&#xff0c;助你轻松搞定本科生毕业论文&#xff01; AI 工具助力论文写作&#xff0c;轻松应对学术挑战 在当前的学术环境中&#xff0c;越来越多的学生开始借助 AI 工具来提升论文写作效率。无论是降低 AIGC 率&#xff0c;还是保持语义通顺&#xff…

2026研究生必备10个降AI率工具

2026研究生必备10个降AI率工具 AI降重工具&#xff1a;让论文更“自然”的秘密武器 随着人工智能技术的广泛应用&#xff0c;越来越多的研究生在撰写论文时不得不面对一个现实问题——AIGC率过高。这不仅影响论文的原创性评估&#xff0c;还可能对最终成绩产生负面影响。而AI降…

深入解析:【要闻周报】网络安全与数据合规 11-21

深入解析:【要闻周报】网络安全与数据合规 11-21pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…

2026年 印刷机厂家推荐排行榜:丝网印刷机/线路板印刷机/全自动印刷机/CCD全自动印刷机/亚克力印刷机/大尺寸印刷机,高精度与高效能智造之选

2026年印刷机厂家推荐排行榜:丝网印刷机/线路板印刷机/全自动印刷机/CCD全自动印刷机/亚克力印刷机/大尺寸印刷机,高精度与高效能智造之选 在全球制造业持续向智能化、精密化转型的浪潮下,印刷设备作为电子制造、光…

Spark机器学习库MLlib:大数据AI应用开发指南

Spark机器学习库MLlib:大数据AI应用开发指南 1. 引入与连接 1.1 引人入胜的开场 想象一下,你身处一家大型电商公司,每天都有海量的用户行为数据涌入,包括用户的浏览记录、购买历史、搜索关键词等。公司想要精准地预测用户的购买倾向,以便推送个性化的商品推荐,从而提高…

深度测评自考必备AI论文平台TOP10

深度测评自考必备AI论文平台TOP10 自考论文写作工具测评&#xff1a;2026年TOP10榜单出炉 随着自考人数逐年攀升&#xff0c;论文写作成为众多考生面临的共同难题。从选题构思到文献检索&#xff0c;再到格式规范与查重修改&#xff0c;每一步都可能成为“卡壳点”。为帮助自考…

收藏!不降级也能用:LangChain 1.0+替代doctran实现问答转换,附完整代码详解

本文介绍了如何在LangChain 1.0环境中替代doctran的"问答转换"功能&#xff0c;通过使用QATransformer或OpenAIQATransformer实现文档→问答对。文章提供了具体代码示例&#xff0c;展示如何用LangChain原生组件替代doctran&#xff0c;无需降级环境即可保留LangChai…