家用寬帶搭建Hmailserver郵箱服務器


 

由於阿里雲,谷歌雲,騰訊雲等服務器都不開放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賬號重新建立后一切就正常了.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM