利用SMTP虛擬伺服器實現不同郵件系統之間的通訊
利用SMTP虛擬伺服器實現不同
郵件系統之間的通訊
實驗背景:
目前,有兩家公司,一家為xiaonuo公司,另一家為dreamfire公司。都鋪設了域環境,而且都安裝了Exchange 2003,公司內部員工能夠實現郵件的互發。但是,公司的郵件系統不能和外部的郵件系統實現通訊。現在要求公司的郵件系統能夠和外部的郵件系統實現互相通訊。
實驗網路拓撲圖:
理論指導:
SMTP協議是用於傳輸和投遞電子郵件的Internet標準協議,Exchange郵件伺服器把Windows系統自帶的SMTP服務作為其固有的郵件傳輸協議,Exchange伺服器之間的郵件傳遞都是由SMTP虛擬伺服器來完成的。
SMTP虛擬伺服器本質上是一個SMTP堆疊,為Exchange提供管理SMTP的機制,大多數情況下,Exchange伺服器使用一個SMTP虛擬伺服器例項收發電子郵件,郵件管理員可以使用“Exchange 系統管理器”來配置和控制SMTP虛擬伺服器。
郵件傳遞分析:
使用者A和使用者B之間的郵件傳遞屬於本地郵件系統之間的傳遞,不受出/入站口的策略限制。而使用者A和使用者C之間的郵件傳遞屬於外部郵件系統之間的傳遞,受出/如站口的策略限制。
使用者A發郵件給使用者C的完整過程:
1、 使用者A首先使用MUA通過SMTP協議把郵件提交給自己的M他的SMTP虛擬伺服器;
2、 MTA接收使用者A傳送的電子郵件之後,首先會判斷是否為本地郵件,如果是,會將電子郵件儲存到本地使用者的電子郵箱裡,等待使用者接受;如果不是,MTA會聯絡DNS伺服器,試圖去解析郵件地址的字尾名,解析出IP地址之後,通過SMTP協議把郵件傳遞給使用者C的M他的SMTP虛擬伺服器。
3、 使用者C對應的M他的SMTP虛擬伺服器接收到這封郵件以後,判斷本地是否有使用者B。如果有,就把郵件儲存在該使用者C的郵箱裡,等待使用者接收。
4、 使用者C使用MUA通過POP3或者IMAP4協議連線本地的M他的POP3或者IMAP4虛擬伺服器接收郵件。
實驗步驟:
1、 註冊DNS區域和MX記錄
SMTP虛擬伺服器依賴DNS來確定其郵件目的伺服器的IP地址。通常,內部DNS名稱不在Internet上釋出,因此,SMTP虛擬伺服器必須能夠聯絡到外部DNS伺服器,解析外部郵件地址的DNS郵件交換記錄(MX 記錄)。
xiaonuo公司的郵件系統如果要想實現外部郵件收發,首先應該向域名序號產生器構CNNIC提交域名註冊申請,註冊該域名的郵件交換(MX)記錄。
由於環境不好模擬,本實驗將DC,Exchange 2003以及DNS裝在了一臺主機上(現實環境中,這種做法是不科學的),本地的DNS就相當於在域名機構註冊過了,(MX)記錄在本地DNS上做,為了能夠聯絡到對方的DNS伺服器,將兩臺DNS的轉發器互相指向對方的IP地址即可。
首先在DNS伺服器上xiaonuo.com區域裡新建一個主機A記錄為mail.xiaonuo.com,然後在DNS區域xiaonuo.com裡新建一個郵件交換器(MX),瀏覽到剛才建的主機A記錄,郵件伺服器的預設優先順序為10,可根據情況而定。“主機和子域”文字框儲存為空,建議不要鍵入任何名稱。
另外一臺DNS伺服器的設定方法相同。最終設定的郵件交換記錄為mail.dreamfire.com
然後,將DNS伺服器各自的轉發器指向對方DNS的IP地址。
設定完成之後,允許CMD,在各自的DNS伺服器上進行測試,首先通過NSLOOKUP看是否能夠解析到本地的DNS伺服器,然後使用set type=mx,測試所有區域的DNS MX記錄是否能夠正確解析。
到目前為止,xiaonuo和dreamfire公司的郵件系統的名稱已經成功註冊了,下面就應該配置SMTP虛擬伺服器的接入郵件的入站設定和傳送郵件的出站設定了。以xiaonuo公司為例進行講解:
2、首先,郵件管理員可以使用“Exchange 系統管理器”管理SMTP虛擬伺服器的屬性,配置Exchange的入站郵件設定。
在“常規”選項卡上,最好勾選“限制連線數不超過”,填寫的數值根據情況而定。這樣可以保證一些垃圾郵件或者******堵塞SMTP虛擬伺服器的通道,不能保證正常郵件的傳送。也可以勾選“啟用日誌記錄”可以通過記錄分析一些郵件伺服器的故障。
在“常規”選項卡上,單擊“高階”按鈕,可以檢視AMTP虛擬伺服器的TCP埠和篩選器是否啟用,SMTP協議將25埠作為其伺服器的標準埠,不要更改此設定。
單擊“訪問”裡的“身份驗證”確認SMTP虛擬伺服器允許“匿名訪問”這樣可以保證所有傳送過來的郵件不需要通過身份驗證,如果勾選,那麼傳送過來的郵件必須通過身份驗證方式,在現實生活中給別人傳送電子郵件輸入使用者名稱和密碼的很少見過。一般都是匿名傳送。
單擊“訪問”裡的“連線”可以新增訪問此虛擬伺服器的範圍,一般在特定的環境下使用。預設情況下,任何人都可以連線。
選擇“Exchange系統管理器”SMTP虛擬伺服器屬性裡的“郵件”設定郵件傳遞的資訊,其中前面兩個預設不設定,如果設定了,優先順序高於“郵件傳遞”裡所做的設定。下面的兩項引數也是微軟經過大量實驗總結出來的最佳值,最好不要更改。
2、 配置出站郵件設定
如果希望SMTP虛擬伺服器傳送外部郵件,郵件管理員可以使用“Exchange 系統管理器”配置SMTP虛擬伺服器出站郵件設定:
選擇“Exchange系統管理器”SMTP虛擬伺服器屬性裡的“傳遞”按鈕,然後選擇“出站安全”勾選“匿名訪問”允許內部使用者使用匿名方式將郵件傳送出去。
選擇“Exchange系統管理器”SMTP虛擬伺服器屬性裡的“傳遞”按鈕,然後選擇“出站連線”可以看到出站連線的一些引數,一般情況下最好不要修改。
選擇“Exchange系統管理器”SMTP虛擬伺服器屬性裡的“傳遞”按鈕,然後選擇“高階”勾選“對傳入郵件執行反向DNS查詢”這樣可以減少30%的垃圾郵件資訊,而且還可以放置一些仿冒郵件系統的欺騙。
選擇“Exchange系統管理器”SMTP虛擬伺服器屬性裡的“傳遞”按鈕,然後選擇“高階”裡的“配置”,然後新增一個外網的IP地址,這裡填寫的IP地址和DNS裡填寫的轉發器地址是一個道理,可以在這裡填寫多個外部DNS地址,這樣可以保證高可靠性。
設定完成之後,在xiaonuo.com域裡新增一個使用者xiaonuo,並建立郵件信箱和郵件地址。同樣,在dreamfire.com域裡新增一個使用者dreamfire,並建立郵件信箱和郵件地址。然後,使用xiaonuo給dreamfire傳送電子郵件進行測試即可。
相關文章
- 實現不同程式之間的通訊
- 利用godaddy的cpanel郵箱伺服器的smtp發郵件Go伺服器
- 利用UTL_SMTP傳送郵件
- python實現基於smtp傳送郵件Python
- 用NSConnection實現不同程式間的通訊
- vue工程利用pubsub-js實現兄弟元件之間的通訊VueJS元件
- 利用Storage Event實現頁面間通訊
- MQ實現兩個應用系統之間的通訊-----實際操作(二)MQ
- 作業系統程式之間的通訊作業系統
- QT之不同主機之間TCP通訊QTTCP
- python SMTP郵件服務Python
- Jmeter——SMTP Sampler傳送郵件JMeter
- Python SMTP傳送郵件Python
- 郵件系統之 SPF reject
- 8┃音視訊直播系統之 WebRTC 信令系統實現以及通訊核心並實現視訊通話Web
- 自制Pop3郵件接收系統(一):利用MatchEvaluator實現HZ的解碼 (轉)
- 如何實現與FDA郵件通訊安全,戳這裡看最全郵件安全解決方案
- 元件間通訊--利用mitt實現事件匯流排元件MIT事件
- 配置mail使用SMTP傳送郵件AI
- Python使用SMTP傳送郵件Python
- Linux 上使用 Gmail SMTP 伺服器傳送郵件通知LinuxAI伺服器
- mailx 或telnet 使用指定SMTP伺服器傳送郵件AI伺服器
- Flink不同併發之間如何通訊
- Java中利用管道實現執行緒間的通訊(轉)Java執行緒
- 用隧道協議實現不同dubbo叢集間的透明通訊協議
- WPForms和 WP Mail SMTP – 最好的WordPress SMTP郵件傳送外掛ORMAI
- Linux作業系統 程式之間的通訊Linux作業系統
- 利用SQL實現通訊錄SQL
- 在 Flutter 多人視訊通話中實現虛擬背景、美顏與空間音效Flutter
- 在如何實現兩個JBoss之間的訊息通訊?
- 利用虛擬列實現虛擬刪除的主外來鍵約束
- postfix郵件系統之郵件客戶端無法收郵件問題解析客戶端
- 郵件開發:SMTP協議詳解協議
- SMTP協議初探(二)----linux下c程式設計實現發郵件協議LinuxC程式程式設計
- 發SMTP而不是微軟預設的MAPI郵件微軟API
- 探討一下flutter不同介面之間的通訊Flutter
- 應對FDA檢查,S/MIME郵件證書如何使藥企實現郵件通訊合規化
- 如何在 Linux 上使用 Gmail SMTP 伺服器傳送郵件通知LinuxAI伺服器