由于阿里云,谷歌云,腾讯云等服务器都不开放25端口和pop3端口,想要使用邮箱服务得购买他们的企业邮箱,但是对于个人而言比较贵。
所以我们需要利用家庭宽带申请公网IP。
首先打电话给运营商客服,申请动态公网IP,因为静态基本是白嫖不到的。理由:家里装了监控,需要外网访问。
我打完电话,过了半小时左右就有个电话过来找我确认,提供账号后,再过几分钟重启光猫或者路由器就能拿到一个动态的公网IP了。
可以进自己的路由器或者光猫,查看红框对应的IP与百度查到的IP是否一致,一致说明拿到了公网IP。
然后最重要的一点是,设置光猫为桥接模式,而不是路由模式,然后在路由器拨号上网,因为大多数情况下,光猫只是个阉割版的路由器,没有一般路由器那么多功能。比如NAT和DDNS,这些都是我们下面需要用到的。
路由器的信息
百度IP
这时候我们可以测试一下
但是在重新拨号后(即重启路由器或光猫,在哪里拨号就是哪个设备),我们的公网IP会变化。这个时候我们就需要DDNS服务,能够让用户不需要知道IP变化这一事实,直接用域名进行访问。
这里我使用了花生壳的祖传免费DDNS,然后用我自己的域名的CNAME解析到花生壳用于DDNS的域名(免费的域名就是丑)
路由器DDNS页面
阿里云域名解析
再次测试
测试完毕之后,可以参考这两篇文章安装hmailserver。
推荐看第一篇根据公钥和私钥来配置服务器。
其他配置参考第二篇。第二篇中的foxmail,需要下图配置。如果你的域名解析跟我的阿里云格式一样
https://blog.csdn.net/khzide/article/details/102874011
https://www.cnblogs.com/lsdb/p/9448123.html
之后在路由器和本机防火墙开放对应端口(嫌麻烦的话,用DMZ主机,不过要记得备份电脑)就可以实现收发邮件了。
对于Web端管理界面的安装。则按照下面的步骤操作
首先查看自己是否有IIS。使用win+s查看
搜索并安装PHP。如果打开太慢可以考虑用梯子。
安装完PHP后,找到php.ini
添加
[PHP_COM_DOTNET]
extension=php_com_dotnet.dll
修改
com.allow_dcom = true
将PHPwebadmin放到对应路径
打開PHPwebadmin檔夾重命名config-dist檔為config並用記事本打開修改:
$hmail_config[‘rooturl’]= “http://用户访问的域名:12450/PHPWebAdmin/”;
为了防止 XSS 攻击
和 CSRF 攻击
,如果用户使用非指定url进行访问,会被驳回。
之后再路由器那里设置NAT端口转发就行,因为家庭宽带80端口会被禁用。外部端口设置12450,内部设置80即可。或者设置DMZ主机。
设置DMZ主机需要注意自己电脑的防护,如果电脑所装软件过多,被利用漏洞也就更多。在公网环境下,容易被入侵,建议只开放对应的端口。
DMZ介绍
NAT端口转发
之后在cmd输入iisreset重启iss服务,就能进入hmailserver的web端啦。
如果有出现403 forbidden。一般是用户权限的问题,将错误信息copy下来,百度搜索即可。
如果使用foxmail过程中出现很快就出现远程主机强迫关闭了一个现有的连接 ,重新拨号更换公网IP即可。因为端口被封禁了。
重新拨号公网IP改变后,使用在foxmail中填写发件服务器和收件服务器为域名的账号收发会出现异常。通过逆向分析后发现foxmail使用ping指令来获得域名对应的IP地址,ping指令获取域名大致流程如下
1、主机查找本地系统Hosts文件的DNS缓存,如果存在该域名对应的IP,则获取IP,跳转到第8步;如果不存在,则继续。
2、主机向本网络路由器发起请求,查找路由DNS缓存,如果存在该域名对于的IP,则获取IP,跳转到第8步;如果不存在,则继续。
3、路由器向本地ISP(互联网提供商)的DNS服务器发起请求,查找DNS服务器的缓存,如果存在该域名对应的IP,则跳转到第7步;如果不存在,则继续。
4、本地DNS服务器向根域名服务器发起请求,根域名服务器告诉本地服务器,下一次应查询的顶级域名服务器dns.com的IP地址。
5、本地域名服务器向顶级域名服务器dns.com进行查询,顶级域名服务器dns.com告诉本地域名服务器,下一步应查询的权限服务器dns.abc.com的IP地址。
6、本地域名服务器向权限域名服务器dns.abc.com进行查询,权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的IP地址。
7、本地域名服务器最后把查询结果——该域名对应的IP地址告诉给主机。
8、至此,主机知道了该域名的IP地址。
在使用host指令对本地dns服务器中的域名进行查询时,发现IP地址已更新,然而ping的IP地址仍然没有改变,显然是路由器的dns缓存出了问题。电信运营商的DNS服务器更新较慢,可以更换为阿里云的dns 223.5.5.5
最后用foxmail收发邮件,发现有各种问题,能收不能发,或能发不能收.但删除FOXMAIL账号重新建立后一切就正常了.
原文链接:https://www.cnblogs.com/MiraculousB/p/14345331.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/23247