当前位置: 首页 > news >正文

【Windows】内网穿透实现hMailServer远程发送邮件

目录

    • 前言
    • 1. 安装hMailServer
    • 2. 设置hMailServer
    • 3. 客户端安装添加账号
    • 4. 测试发送邮件
    • 5. 安装cpolar
    • 6. 创建公网地址
    • 7. 测试远程发送邮件
    • 8. 固定连接公网地址
    • 9. 测试固定远程地址发送邮件

前言

hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpolar内网映射工具即可实现远程发送邮件,不需要使用公网服务器,不需要域名,而且邮件账号名称可以自定义.

下面以windows 10系统为环境,介绍使用方法:

1. 安装hMailServer

进入官方下载:https://www.hmailserver.com/download,选择最新版本,下载的时候浏览器可能会提示报毒,点击保留即可

下载好后.打开exe文件进行安装,直接点击Next下一步即可,到了设置密码步骤,我们设置一个密码,然后Next下一步完成安装

image-20230615132651836

2. 设置hMailServer

上面我们安装完成了hMailServer,现在设置邮件名称和添加账号,打开hMailServer,点击connect连接本地的服务

image-20230615150942081

提示输入密码,该密码是我们上面设置的密码,输入后点击ok

image-20230615151054889

进入后,我们首先需添加一个邮件主体名称,点击Add domain

这个名称我们可以随便设置,符合一个域名标准格式即可,如abc.com ,123.com , test.com等,我们这边设置test.com测试使用,设置完成点击sava保存

加下来添加账号,点击Domains,然后点击上面我们设置域名主名称下面的Accounts,进入后点击右侧的Add,添加账号

输入账号名称,和密码,名称我们可以自定义,这里我们创建的账号就是我们的邮箱账号,账号和密码就是我们登录邮箱的账号密码

image-20230615152037671

同样的方式,我们再创建一个,方便测试,两个名称不要重复

设置完成后,我们可以看到列表出现了两个用户,服务端就设置完成了

image-20230615153831801

3. 客户端安装添加账号

上面我们设置好了本地自己的邮件服务,现在我们安装客户端测试,这边安装一个Foxmail客户端进行测试,进入官网下载:https://www.foxmail.com/

下载后安装,安装完成打开Foxmail,我们添加邮箱账号,点击其他邮箱

点击手动设置

在页面上我们输入上面创建的账号和密码,服务器地址填写本机地址:127.0.0.1,其他参数默认,输入完点击创建

image-20230615154549383

添加账号成功后我们在左侧看到了我们自己的账号,添加我们创建的第二个账号,点击左侧菜单下面的账号管理

image-20230615154857818

我们看到有个定时收取邮件的按钮,取消勾选,然后点击新建

image-20230615155055159

同样选择其他邮件—手动设置,输入我们上面创建的第二个邮箱账号的账号密码,点击创建

创建后,我们同样勾选定时收取邮件按钮,点击应用即可,账号添加完成

image-20230615155500479

4. 测试发送邮件

我们上面在Foxmail添加了两个账号,现在测试发送邮件,选中一个账号,点击写邮件

image-20230615155644496

收件人填写我们另一个账号,然后输入邮件内容,点击发送

image-20230615155806789

发送完成后,我们点击页面上面收取邮件,即可看到我们发送的邮件,如果点击一次没有出来,可以等10秒再次点击,本地测试发送邮件完成,下面我们配置远程发送邮件

image-20230615155920888

5. 安装cpolar

cpolar官网:https://www.cpolar.com/

Windows系统可以直接在官网下载适用于Windows平台的zip压缩包,解压后得到cpolar安装包,然后双击安装包一路默认安装即可。

image-20230615161202668

6. 创建公网地址

cpolar安装成功后,在浏览器上访问cpolar web UI管理界面(默认为本地9200端口),以【 http://本地ip地址:9200 】形式访问,如http://127.0.0.1:9200/,并使用cpolar账号登录

20230106104443

登录成功后,点击左侧的隧道管理——创建隧道,我们先创建第一个隧道,这个隧道是收邮件隧道:

  • 隧道名称:收邮件
  • 协议:选择tcp协议
  • 本地地址:110(服务端的收邮件端口)
  • 端口类型:随机临时TCP端口
  • 地区:China vip

点击创建

image-20230615161918672

创建第二个隧道,发邮件隧道

  • 隧道名称:发邮件
  • 协议:选择tcp协议
  • 本地地址:25(服务端的发邮件端口)
  • 端口类型:随机临时TCP端口
  • 地区:China vip

image-20230615162120992

创建成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到刚刚创建成功的两个隧道,一个是发邮件,一个收邮件,中间这个就是对应的公网地址,通过这个地址我们就可以实现两个账号远程发送邮件.

image-20230615162334562

7. 测试远程发送邮件

打开我们Forxmail 邮箱客户端,找到我们添加的账号,右键点击设置

image-20230615162529785

然后设置收件服务器和发件服务器的地址,这两个地址就是我们上面创建的两个cpolar公网地址,端口对应公网地址的端口,记得不要输入错误,输入完点击应用,image-20230615162707419

设置完成后,我们使用设置公网地址的这个账号远程给另一个账号发送邮件.

image-20230615163552597

可以看到另一个接收完成了,远方的朋友通过这个方式添加账号即可发送邮件给你

image-20230615171219912

8. 固定连接公网地址

要注意的是,以上步骤使用的是cpolar随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。

cpolar官网: https://dashboard.cpolar.com/login

登录cpolar官网,点击左侧的预留,找到保留的tcp地址,保留第一个接收邮件的地址:

  • 地区:选择China
  • 描述:接收邮件地址

点击保留

image-20230615172113998

保留第二个发送邮件的地址:

  • 地区:选择China
  • 描述:发送邮件地址

点击保留

image-20230615172209998

地址保留成功后,系统会生成相应的固定公网地址,将两个地址复制下来,这里记得区分好,不要搞混了

image-20230615172330065

进入cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建接收邮件的tcp隧道,点击右侧的编辑

image-20230615172452983

修改隧道信息,将官网保留成功的接收邮件地址固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写官网保留成功的接收邮件地址,

点击更新

image-20230615172622769

然后编辑第二个发邮件的隧道

image-20230615172815520

同样,把另一个发送邮件的固定地址也配置到对应的发邮件隧道里面

image-20230615172739180

两个隧道设置更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定tcp地址。

image-20230615172915503

9. 测试固定远程地址发送邮件

同样我们选择其中一个邮箱账号,右键点击设置

image-20230615173050969

我们把收件服务器和发件服务器的地址换成我们在cpolar官网设置的固定地址,记得地址不要搞反了,端口对应地址的端口,设置完成点击应用

image-20230615173208904

然后选择这个邮箱向另一个邮箱账号发送邮件

我们可以看到邮件发送成功,另一个账号也接收成功,这样一个自己的邮件服务就搭建好了,同时可以远程发送邮件.

image-20230615173643578

相关文章:

【Windows】内网穿透实现hMailServer远程发送邮件

目录 前言1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 前言 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpolar内网…...

深信服技术认证“SCSA-S”划重点:SQL注入漏洞

为帮助大家更加系统化地学习网络安全知识,以及更高效地通过深信服安全服务认证工程师考核,深信服特别推出“SCSA-S认证备考秘笈”共十期内容,“考试重点”内容框架,帮助大家快速get重点知识~ 划重点来啦 深信服安全服务认证工程师…...

Leetcode-二叉树oj题

1.二叉树的前序遍历 144. 二叉树的前序遍历https://leetcode.cn/problems/binary-tree-preorder-traversal/这个题目在遍历的基础上还要求返回数组,数组里面按前序存放二叉树节点的值。 既然要返回数组,就必然要malloc一块空间,那么我们需…...

软件磁盘阵列(software RAID)

RAID-0 等量模式(各个磁盘平均存放文件) RAID-1 镜像模式(一个文件存放两个磁盘) RAID 01 RAID 10 组合模式 RAID 5 三块以上磁盘,记录文件和同位码(存放不通磁盘,通过同…...

浏览器安全攻击与防御

前言 浏览器是我们访问互联网的主要工具,也是我们接触信息的主要渠道。但是,浏览器也可能成为攻击者利用的突破口,通过各种手段,窃取或篡改我们的数据,甚至控制我们的设备.本文将向大家介绍一些常见的浏览器安全的攻击…...

vue生命周期、工程化开发和脚手架

1、前言 持续学习记录总结中,vue生命周期、工程化开发和脚手架 2、Vue生命周期 Vue生命周期:就是一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个阶段:① 创建 ② 挂载 ③ 更新 ④ 销毁 1.创建阶段:创建响应式数据 2.挂…...

文件搜索工具HoudahSpot mac中文版特点

HoudahSpot mac是一款文件搜索工具,它可以帮助用户快速准确地找到文件和文件夹,支持高级搜索和过滤,同时提供了多种视图和操作选项,方便用户进行文件管理和整理。 HoudahSpot mac软件特点 高级搜索和过滤功能:软件支持…...

maven中scope和optional区别

文章目录 1. Scope&#xff08;作用范围&#xff09;&#xff1a;2. Optional&#xff08;可选项&#xff09;&#xff1a; 1. Scope&#xff08;作用范围&#xff09;&#xff1a; Maven的<scope>元素用于指定依赖项的作用范围&#xff0c;即依赖项在构建和运行时的可见…...

《ChatGPT实操应用大全》探索无限可能

&#x1f5e3;️探索ChatGPT&#xff0c;开启无限可能&#x1f680; 文末有免费送书福利&#xff01;&#xff01;&#xff01; ChatGPT是人类有史以来最伟大的发明。他能写作、绘画、翻译、看病、做菜、编程、数据分析、制作视频、解高等数学题…&#xff0c;他会的技能…...

基于helm的方式在k8s集群中部署gitlab - 部署(一)

文章目录 1. 背景说明2. 你可以学到什么&#xff1f;3. 前置条件4. 安装docker服务&#xff08;所有节点&#xff09;5. 部署k8s集群5.1 系统配置&#xff08;所有节点&#xff09;5.2 安装kubelet组件(所有节点)5.2.1 编写kubelet源5.2.2 安装kubelet5.2.3 启动kubelet 5.3 集…...

flask web开发学习之初识flask(二)

文章目录 一、创建程序实例并注册路由1. 为视图绑定绑定多个URL2. 动态URL 二、启动开发服务器1. 自动发现程序实例2. 管理环境变量3. 使用pycharm运行服务器4. 更多的启动选项5. 设置运行环境6. 调试器7. 重载器 一、创建程序实例并注册路由 app.py # 从flask包中导入flask类…...

利用异或、取反、自增bypass_webshell_waf

目录 引言 利用异或 介绍 eval与assert 蚁剑连接 进阶题目 利用取反 利用自增 引言 有这样一个waf用于防御我们上传的文件&#xff1a; function fun($var): bool{$blacklist ["\$_", "eval","copy" ,"assert","usort…...

K8s Docker实践三

单主机创建多个node 在Mac桌面上部署多个Kubernetes节点可以使用Minikube工具。Minikube是一个轻量级的Kubernetes工具&#xff0c;它可以在单个主机上创建一个虚拟集群。以下是在Mac桌面上使用Minikube部署多个Kubernetes节点的步骤&#xff1a; 安装Minikube&#xff0c;运…...

记录 | pip加速配置

以下方法不仅适用于linux&#xff0c;也适用于mac 临时加速配置&#xff1a; pip install -i https://pypi.douban.com/simple --trusted-host pypi.douban.com matplotlib3.4.0其中可选源有&#xff1a; https://pypi.douban.com/simple http://mirrors.aliyun.com/pypi/sim…...

HarmonyOS开发—Arkts循环渲染(ForEach)深入运用详解【鸿蒙专栏-16】

文章目录 ArkTS ForEach接口详解与应用示例ForEach接口概述介绍接口描述参数说明键值生成规则默认规则组件创建规则首次渲染非首次渲染使用场景高级用法条件渲染逻辑LazyForEach的性能优化渲染结果预期ForEach的错误使用案例与性能降低渲染结果非预期渲染性能降低结语ArkTS For…...

uniapp挽留提示2.0

项目需求&#xff1a;有时候挽留的ui是全屏的&#xff0c;用page-container也可以。后来产品提了个问题&#xff0c;手机侧滑的时候没那么顺畅&#xff08;就是一用侧滑&#xff0c;就显示出来&#xff0c;产品要的方案是如下图&#xff0c;emmm大概是这个意思&#xff09; 后面…...

电源控制系统架构(PCSA)之系统分区电压域

目录 4.1 电压域 4.1.1 系统逻辑 4.1.2 Always-On逻辑 4.1.3 处理器Clusters 4.1.4 图形处理器 4.1.5 其他功能 4.1.6 SoC分区示例 本章描述基于Arm组件的SoC划分为电压域和电源域。 所描述的选择并不详尽&#xff0c;只是可能性的一个子集。目的是描述基于Arm组件的SoC…...

[Linux] 正则表达式及grep和awk

一、正则表达式 1.1 什么是正则表达式 正则表达式是一种用于匹配和操作文本的强大工具&#xff0c;它是由一系列字符和特殊字符组成的模式&#xff0c;用于描述要匹配的文本模式。 正则表达式可以在文本中查找、替换、提取和验证特定的模式。 正则表达式和通配符的区别 正则…...

ssm+java车辆售后维护系统 springboot汽车保养养护管理系统+jsp

以前汽车维修人员只是在汽车运输行业中从事后勤保障工作,随着我国经济的发展,汽车维修行业已经从原来的从属部门发展成了如今的功能齐备的独立企业。这种结构的转变,给私营汽修企业和个体汽修企业的发展带来了契机,私营企业和个体维修企业的加入也带动了整个汽修行业的整体水平…...

HNU练习七 字符串编程题7. 机器人游戏

【问题描述】 有人建造了一些机器人&#xff0c;并且将他们放置在包含n个单元的一维网格上&#xff0c;一个长度为n的字符串s代表了他们的编排方式&#xff0c;字符串中的字符既可以是.&#xff0c;也可以是0~9之间的一个数字字符&#xff0c;字符.表示开始时在相应的单元上无机…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...