【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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【RedisTemplate】SpringDataRedis(Spring中对Redis模块的整合)

SpringDataRedis简介: SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模块就叫做SpringDataRedis。 官网地址:https://spring.io/projects/spring-data-redis 提供了对不同Redis客户端的整合&a…

C++学习之路(十四)C++ 用Qt5实现一个工具箱(增加一个Base64图片编码预览功能)- 示例代码拆分讲解

上篇文章,我们用 Qt5 实现了在小工具箱中添加了《Base64加解密功能》功能。为了继续丰富我们的工具箱,今天我们就再增加一个平时经常用到的功能吧,就是「 Base64图片编码预览 」功能。下面我们就来看看如何来规划开发一个这样的小功能并且添加…

Redis的高可用模式

1. 什么是高可用? 高可用(High Availability, HA)是指在信息技术中确保系统、服务或应用程序在绝大多数时间内都是可操作和可访问的能力。这通常涉及以下几个关键方面: 最小化停机时间: 高可用系统的目标是减少因硬件故障、系统升…

无mac电脑生成uniapp云打包私钥证书的攻略

uniapp顾名思义是一个跨平台的开发工具,大部分uniapp的开发者,其实并没有mac电脑来开发,但是生成ios的证书,官网的教程却是需要mac电脑的,那么有没有办法无需mac电脑即可生成uniapp云打包的私钥证书呢? 下…

小白都能看懂的手把手详细Git安装教程

什么是Git Git是一个源代码管理系统,旨在帮助开发人员协同工作。它是一个分布式的版本控制系统,可以有效地将代码库分支、合并和版本控制,同时还可以跟踪文件的更改、修改内容并保留历史记录。Git能够让多个开发人员同时对同一代码库进行协作…

Linux基础篇-开机自动挂载

目录 开机挂载的几种方法/etc/fstab/etc/rc.local或/etc/rc.d/rc.local 开机挂载的几种方法 修改配置文件/etc/fstab (如果是磁盘信息输错,那么系统重启时会进入维护模式,影响操作系统的正常运行.) 在/etc/rc.local内添加挂载命令…

基于ASP.NET MVC技术的图书管理系统的设计与实现

基于ASP.NET MVC技术的图书管理系统的设计与实现 摘要:图书管理系统是一套高新科学技术和图书知识信息以及传统历史文化完美结合的体现。它改变了传统图书收藏的静态书本式图书服务特征,实现了多媒体存取、远程网络传输、智能化检索、跨库无缝链接、创造…

WebSocket入门介绍及编程实战

HTTP的限制 全双工和半双工: 全双工:全双工(Full Duplex)是允许数据在两个方向上同时传输。 半双工:半双工(Half Duplex)是允许数据在两个方向上传输,但是同一个时间段内只允许一个…

三维模型的顶层合并构建的轻量化技术方法探讨

三维模型的顶层合并构建的轻量化技术方法探讨 倾斜摄影超大场景的三维模型的顶层合并构建通常会生成庞大的数据量,给存储、传输和处理带来很大的挑战。为了解决这个问题,可以采用轻量化处理技术,以减小数据体积、提高处理效率,并方…

GAN:WGAN-GP-带有梯度惩罚的WGAN

论文:https://arxiv.org/pdf/1704.00028.pdf 代码:GitHub - igul222/improved_wgan_training: Code for reproducing experiments in "Improved Training of Wasserstein GANs" 发表:2017 WGAN三部曲的终章-WGAN-GP 摘要 WGAN在…

APITable免费开源的多维表格与可视化数据库本地部署公网远程访问

APITable免费开源的多维表格与可视化数据库公网远程访问 文章目录 APITable免费开源的多维表格与可视化数据库公网远程访问前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 前言 vika维格表作为新一代数据生产力平台&#xff0c…

QQ小程序分销商城源码系统 带完整的搭建教程

互联网的快速发展,电商行业也迅速崛起,如今线上购物已经成为许多人日常生活的一部分。然而,随着竞争的加剧,电商企业需要不断创新和优化,以吸引更多的消费者和提高销售额。在这个背景下,我们开发了QQ小程序…

JavaEE——简单认识CSS

文章目录 一、简单了解什么是 CSS二、CSS 选择器1.标签选择器2.类选择器3.ID 选择器4.后代选择器5.子选择器6.伪类选择器 三、字体属性1.设置字体家族2.设置字体大小3.设置字体粗细4.文字倾斜 四、文本属性1.文本对齐2.文本装饰3.文本缩进4.背景设置 五、圆角矩形六、CSS 盒子模…

将不同时间点的登录状态记录转化为不同时间段的相同登录状态SQL求解

题目 有不同时间点的登录状态记录表state_log如下 请使用sql将其转化为如下表的不同时间段的相同登录状态记录 思路分析: 此类问题需要用到lag或lead函数取上下行对应的数据,然后对前后结果做比较打标签(0或1),再…

List集合,遍历,数据结构

一.List常见的方法: 二. List集合的遍历方式 除了 迭代器遍历 增强for遍历 Lambda表达式遍历,还有自己独有的普通for遍历,列表迭代器遍历 1.迭代器遍历 2.增强for遍历 3.Lambda表达式遍历 4.普通for遍历 5.列表迭代器遍历 列表迭代器相对于…

【网络安全】用永恒之蓝(Eternal blue)测试windows系统的安全性

一、kali默认账户和密码都为kali 攻击机:Linux 的 kali 目标机:Windows7 x64 二、kali、metasploit、metasploit 攻击 windows操作系统、metasploit 攻击 永恒之蓝 全流程 ①kali:是黑客攻击机。开源免费的Linux操作系统,含有300…

Linux Ubuntu protobuf 安装方法

文章目录 安装方法检验安装意外状况 安装方法 去GitHub官网找下载地址 安装 protobuf 21.11 GitHub 资源地址 选择安装版本 (是一个URL网址) 例如这里选用:protobuf-all-21.11.zip 资源 安装依赖库,执行指令 6. sudo apt-get …

class-dump 混淆加固、保护与优化原理

​ 进行逆向时,经常需要dump可执行文件的头文件,用以确定类信息和方法信息,为hook相关方法提供更加详细的数据.class-dump的主要用于检查存储在Mach O文件的Objective-C中的运行时信息,为类,类别和协议生成声明信息&am…

Redis7--基础篇5(管道、发布订阅)

管道是什么 管道(pipeline)可以一次性发送多条命令给服务端,服务端依次处理完完毕后,通过一条响应一次性将结果返回,通过减少客户端与redis的通信次数来实现降低往返延时时间。pipeline实现的原理是队列,先进先出特性就保证数据的…

10-微信小程序 图片 相机 二维码 动画相关API(实现选择相册、拍照、录像、动画)

10-微信小程序 图片 相机 二维码 动画相关API(实现选择相册、拍照、录像、动画) 文章目录 10.1选择图片wx.chooseImage(Object object)object.success 回调函数代码效果 10.2 预览图片wx.previewImage(Object object)代码效果 10.3 相机APICameraContext wx.createCameraContex…