当前位置: 首页 > 编程日记 > 正文

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

前言

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

相关文章:

一文搞懂网络OSI网络模型

在互联网技术里,有两件事最为重要,一个是TCP/IP协议,它是万物互联的事实标准;另一个是Linux操作系统,它是推动互联网技术走向繁荣的基石。在网络编程中最重要的模型便是OSI七层网络模型和TCP/IP四层网络模型七层模型,也称为OSI(Open System Interconnection)参考模型,是国际标准化(ISO)指定的一个用于计算机或通信系统间互联的标准体系。建立七层模型的主要目的是为解决各种网络互联时遇到的兼容性问题。

常见的几种网络抓包及协议分析工具

网络工程师必备技能-抓取网络数据。在本篇博客中,我们将集中记下几个问题进行探讨:Wireshark 是免费的抓取数据包、分析数据包的工具,兼容 Windows、Linux、Mac等主流平台。使用 wireshark 抓包需要的工具是:安装了 wireshark 的 PC。wireshark 抓包的范围是:抓取安装了 wireshark 的 PC 本机的网卡上流经的数据包。其中,网卡指的是 PC 上网使用的模块,常见的包括:以太网网卡、wifi 无线网卡,PC 分别使用它们用于连接以太网、wifi 无线网络。

手机的ip地址是固定的吗,每个手机ip地址一样吗?

简单点说,路由器开启了“DHCP功能”,会自动给连接路由器网络的设备自动分配IP地址,这包括有线网络和无线网络;当设备开启了DHCP功能之后,在路由器开启了DHCP功能的前提下,就会自动接收路由器分配的IP地址,不需要用户手动设置静态IP地址,用通俗的话来形容“DHCP”,它可以省去用户手动设置IP地址的过程。

配置nginx+keepalived高可用代理数据库ip端口

需求:配置nginx+keepalived高可用反向代理数据库ip端口(数据库服务器无法增加新SCAN IP或者需要隐藏数据库IP的情况下适用)本机ip为:192.168.20.10和192.168.20.11。2.任意节点关机或重启系统,浮动ip也会自动漂移到另外节点。1.任意节点停nginx:浮动ip会自动漂移到另外节点。安装依赖包和nginx和keepalived。浮动IP为:192.168.20.20。配置keepalived.conf。两台centos7.9。

TCP服务器最多支持多少客户端连接

本文从理论和实际两个方面介绍了一个 TCP 服务器支持的最大连接数

mysql开启可以使用IP有权限访问

为实际的IP地址和你想要设置的密码。请小心操作,并确保你了解每个命令的作用。如果你对此有任何疑问,最好咨询经验丰富的数据库管理员。来设置或修改用户的密码。相反,你需要分两步来完成这个过程:首先创建或修改用户,并设置密码;然后授予相应的权限。用户应该能够从指定的内网IP地址访问MySQL服务器。用户已存在并且你只是想更改其密码或允许从另一个地址访问,使用。在MySQL 8.0及更高版本中,语句的语法有所变化。替换为你的内网IP地址,

TCP三次握手和四次挥手

看了大量的文章都不知道ack包,fin包,syn包是干嘛的?我搜了一些概念以及总结道一起是不是更容易理解一些方便后续面试使用

Rust之旅 - Rust概念、Windows安装、环境配置

本章节介绍Rust概念、Windows安装、环境配置以及最初级的语法。至此,我们就成功的构建了一个Rust程序,并成功在Visual Studio Code里运行了这个程序,万事俱备,我们就可以开始Rust之旅了。资料获取,更多粉丝福利,关注下方公众号获取。

使用docker部署RStudio容器并结合内网穿透实现公网访问

RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE,并通过 Web 浏览器进行访问,从而将 RStudio IDE 的强大功能和工作效率带到基于服务器的集中式环境中。下面介绍在Linux docker中安装RStudio Server并结合cpolar内网穿透工具,实现远程访问,docker方式安装可以避免很多问题,一键安装,如设备没有安装docker,需提前安装docker。

Windows系统搭建WebDAV服务并结合内网穿透实现公网访问本地文件

在Windows上如何搭建WebDav,并且结合cpolar的内网穿透工具实现在公网访问。WebDav是一种基于http的协议,允许用户在服务器上创建、修改、删除和移动文件,它的优点是可以方便的通过网络访问和管理文件,并且支持多用户协作,提供安全的加密机制。使用WebDav协议,用户可以将网盘挂载到本地电脑或手机上,可以直接操作网盘上的文件了。

揭秘代理IP:原理、类型及其在大数据抓取中的作用

代理IP的原理:代理服务器作为客户端与目标网站之间的中介,当请求数据时,不是直接由用户的原始IP地址发送到目标网站,而是先发送到代理服务器。- 提升抓取效率:利用多个代理IP实现并发抓取,可以分散请求负载,提高数据采集速度,尤其是在需要大量数据或高频率访问时尤为关键。- 地域定位:某些代理IP能够提供特定地区的IP地址,这使得爬虫能够抓取特定区域的内容,比如针对不同国家或地区的本地化信息。- 绕过反爬机制:通过不断更换代理IP,爬虫可以避免因频繁访问而触发目标网站的反爬策略,从而继续高效地抓取数据。

教新手解决api-ms-win-crt-runtime-l1-1-0.dll丢失问题,简单有效修复dll文件问题

在使用电脑的过程中突然提示api-ms-win-crt-runtime-l1-1-0.dll错误的信息,那么出现在这样的问题有什么办法可以很好的解决api-ms-win-crt-runtime-l1-1-0.dll错误呢?今天就教大家解决api-ms-win-crt-runtime-l1-1-0.dll错误的几种办法,比较适合不懂电脑的萌新宝宝!如果你电脑电脑出现了这样的问题那么可以来试试吧!

Windows Copilot 更新及使用教程

GitHub Copilot 是一款基于机器学习的代码生成工具,可以帮助开发者快速生成高质量的代码。以下是 Windows Copilot 的更新及使用教程:

TCP中的三次握手和四次挥手

我们知道TCP是运输层的面向连接的可靠的传输协议。**面向连接的**,指的就是在两个进程发送数据之前,必须先相互“握手”,确保两进程可以进行连接。并且这个传输是点对点的,即一个TCP连接中只有一个发送方和接收方;**可靠的**,指的是在任何网络情况下,在TCP传输中数据都将完整的发送到接收方。

Windows搭建Emby媒体库服务器,无公网IP远程访问本地影音文件

在现代五花八门的网络应用场景中,观看视频绝对是主力应用场景之一,加上移动网络技术的发展,随时随地看视频已经成为基本需求。不过,随着资本向视频应用的集中,想要看视频就必须先充会员,这让笔者很是郁闷,于是产生了自建影音云盘的想法,期间也尝试了多种影音服务器。今天,笔者就为大家介绍,如何在Windows系统中,使用Cpolar内网穿透+Emby,搭建自己的私人影音平台。到这里,我们就成功的使用cpolar+Emby搭建了专属于我们自己的私人影音库,让我们能随时随地访问到本地电脑上的影音资源。

windows系统lib文件和dll文件的区别

(这种方式更灵活,写的程序体积小,但是需要.exe和dll同时发布)(这种方式不是很灵活,因为lib被编译到.exe中,写出的程序体积大,但是只需要发布exe即可,不需要dll文件)

IP地址的四大类型:动态IP、固定IP、实体IP、虚拟IP的区别与应用

这种IP地址的分配是临时性的,用户每次连接都可能获得不同的IP。了解动态IP、固定IP、实体IP和虚拟IP的区别以及各自的应用场景,有助于网络管理员和用户在不同情境下做出明智的IP地址选择,确保网络通信的稳定性和高效性。每种IP类型都有其独特的优势,根据实际需求进行选择,是网络设计和管理中的重要考虑因素。动态IP、固定IP、实体IP和虚拟IP是四种不同类型的IP地址,它们各自具有独特的特点和应用场景。实体IP:是每个设备在物理网络上的唯一标识,确保网络通信的准确性。

适用于 Windows 的 10 款顶级 PDF 阅读器评测

您是否正在寻找适用于 Windows 台式机或笔记本电脑的可靠且高效的最佳 PDF 阅读器?然后您就打开了正确的文章。在本文中,我提供了有关互联网上一些免费 PDF 阅读器软件的详细信息。我相信读完这篇文章后,您心中将不再有关于免费 PDF 阅读器软件的疑问。

Kali Linux如何启动SSH并在Windows系统远程连接

Kali Linux如何启动SSH并在Windows系统远程连接

远程桌面连接Windows实例,提示“为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多”错误解决方案

无法使用Workbench和第三方远程连接工具(例如PuTTY、Xshell、SecureCRT等)连接实例时,可以通过VNC远程连接方式登录实例.本文以Windows Server 2019操作系统为例,其他操作系统操作步骤类似。Windows系统的ECS实例系统组策略中配置了用户锁定策略,在登录时输入错误的密码次数过多,该账户会被锁定,导致远程桌面无法登录。具体方法,不同服务商,提供的控制台有所不同,请自行查阅。使用远程桌面连接Windows系统的ECS实例,提示“”错误,具体报错信息如下图所示。

C# 读取Word表格到DataSet

在应用项目里,多数情况下我们会遇到导入 Excel 文件数据到数据库的功能需求,但某些情况下,也存在使用 Word 进行表格数据编辑的情况。Word 和 Excel 其实各有特点,但用户的习惯不同,即使同一数据源,可能提供的数据源文件类型也不同,这其中也包括导入Word内容的功能,比如表格数据导出到DataSet数据集。

Win系统修改Nginx配置结合内网穿透实现远程访问多个Web站点

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。接下来,我们通过强大的且稳定的内网穿透工具cpolar,将本地nginx服务暴露至公网环境,以实现穿透多个站点端口需求,无需公网IP,也不用设置路由器。提示更新隧道成功,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新为保留成功的二级子域名,将其复制下来。来访问两个站点,测试访问成功,现在该公网地址不会随机变化了。

Windows下配置最新ChromeDriver

选择与操作系统相对应的版本进行下载,并且与谷歌安装目录安装在同一位置,注意http status要为200才是正常可用。本例中,我的Chrome版本是120.0.6099.110,下载版本120.0.6099.71,可以正常使用。可以看到,当前chrome是最新版本:120.0.6099.110(正式版本) (64 位)。意思就是说:你的Chrome版本是118,但你的ChromeDriver版本是114。点击系统变量中的path,点击新增,并将chrome的安装目复制填入后,点击确定。

如何在外远程访问本地NAS威联通QNAP?

本文主要讲解在外远程访问本地NAS威联通QNAP。

如何在Android平板上远程连接Ubuntu服务器使用code-server代码开发

如何在Android平板上远程连接Ubuntu服务器使用code-server代码开发

深入理解网络阻塞 I/O:BIO

该篇博文主要介绍的是 I/O 模型中的阻塞 I/O -> BIO,简要分析了 BIO 流程图及相关系统函数调用,通过实践代码的方式来分析阻塞 I/O 在系统调用中所涉及到的流程,最后,介绍了相关联的系统函数:strace、socket、bind、listen、accept,希望能够得到你的支持,感谢三连

本地Nginx服务搭建结合内网穿透实现多个Windows Web站点公网访问

文章浏览阅读1.1k次,点赞96次,收藏91次。访问http://127.0.0.1:9200/登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。接下来,我们通过强大的且稳定的内网穿透工具cpolar,将本地nginx服务暴露至公网环境,以实现穿透多个站点端口需求,无需公网IP,也不用设置路由器。提示更新隧道成功,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新为保留成功的二级子域名,将其复制下来。修改隧道信息,将保留成功的二级子域名配置到隧道中。

win10 通过wmic命令行设置系统环境变量

而通过编程修改系统环境变量,需要调用注册表API或调用wmi API接口,都有些过于麻烦。此时,如果通过system函数,直接调用批处理文件,则只需要一行代码。批处理中,分别给出了创建环境变量,修改环境变量,删除环境变量的demo。可以根据需要调整批处理文件。在系统维护或编写程序过程中,经常需要对系统环境变量进行设置、修改、删除炒作。注:修改系统环境变量,需要有管理员权限。

【Java 基础篇】Java网络编程:文件下载详解

文件下载是指从一个网络服务器或远程位置传输文件到本地计算机或设备的过程。这些文件可以是文本文件、图像、音频、视频或任何其他类型的数据文件。文件下载在Web浏览器、移动应用程序和桌面应用程序中都是常见的操作。在Java中,您可以使用各种网络协议(如HTTP、FTP、SFTP等)来执行文件下载操作。下面我们将以HTTP协议为例,介绍如何使用Java进行文件下载。本文介绍了如何使用Java进行文件下载,以及文件下载的一些进阶功能和注意事项。

【Java 基础篇】Java Lambda表达式详解

Lambda表达式,也称为闭包,是一种匿名函数,它可以传递到方法作为参数,并且可以在方法中使用。它是Java 8引入的一个新特性,用于简化代码的编写,特别是在使用函数式接口时。匿名性:Lambda表达式没有显式的名称,因此可以被当做一种匿名函数使用。简洁性:Lambda表达式可以大大减少代码的冗余,使代码更加简洁。传递性:Lambda表达式可以作为参数传递给方法,从而实现更灵活的代码组织。除了Java标准库中的函数式接口,您还可以定义自己的函数式接口,以适应特定的需求。// 结果为8。