Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

自架 IIS 郵件伺服器能收不能發?常見原因與解決方案

編輯:關於伺服器

不少網友在 Windows Server 2003 上利用 IIS 內建 SMTP 服務自架郵件伺服器,卻發生「能收信、對內發信正常,但無法寄送至外部郵箱(如 163、Gmail)」的情況。這通常源於兩項先決條件未滿足或 DNS 設定缺失。

核心前提:對外收發信的兩大條件

  1. 擁有公網固定 IP:伺服器必須直接連接互聯網,且具備公共 IP 位址;若在 NAT 後方,需於防火牆/路由器做 Port Mapping(TCP 25、110、143 等)。
  2. 擁有已註冊的公網域名:需向域名註冊商申請合法域名(如 example.com),並完成實名認證。

常見卡點:缺少 MX 記錄

滿足上述條件仍無法寄出時,八成是 DNS 區域檔未正確設定 MX 記錄(Mail Exchange)。外部郵件伺服器在傳遞郵件前會查詢收件域名的 MX 記錄,若查無記錄或指向錯誤主機,信件會被退信或丟棄。

正確設定範例

example.com.    IN  MX  10  mail.example.com.
mail.example.com.  IN  A   203.0.113.45   ; 您的公網 IP

同步建議新增 SPF(TXT 記錄)與 PTR(反向解析),提升郵件信譽,減少進垃圾箱機率:

example.com.  IN  TXT  "v=spf1 mx ~all"
45.113.0.203.in-addr.arpa.  IN  PTR  mail.example.com.  ; 需向 ISP 申請

快速排查清單

  • telnet 遠端 SMTP 埠(25)是否通?telnet mx.163.com 25
  • 本機 SMTP 服務是否啟用「轉送限制」→ 僅允許「已驗證用戶」或「本機 IP」?
  • 防火牆/雲端安全群組是否放行 TCP 25/465/587 輸出?
  • 檢查 SMTP 日誌(C:\WINDOWS\system32\LogFiles\SMTPSVC1\)是否出現 550、554 錯誤代碼。

進階建議

若僅需發送系統通知信,建議改用成熟的郵件發送服務(如 SendGrid、Mailgun、阿里云郵件推送)並透過 API/SMTP Relay 發信,免去維護 IP 信譽、反垃圾策略等繁瑣工作。

Copyright © Windows教程網 All Rights Reserved