附錄 D︰建立 SMTP 伺服器
建立 SQL Server Database Mail 所使用的 SMTP 伺服器。
使用下列任何 SQL 版本,需要有 SQL Server Database Mail 才能設定 BAM 警示:
SQL Server 2016
SQL Server 2014
SQL Server 2012
SQL Server Database Mail 使用 SMTP 伺服器傳送 BAM 警示。 SMTP 伺服器隨附於網際網路資訊服務 (IIS)。 SMTP 可以安裝在本機 BizTalk Server 上,或安裝在已安裝 IIS 的另一部伺服器上。
重要
一般而言,用戶端作業系統 (例如 Windows 10、Windows 7 等) 都不包含 SMTP 伺服器功能。 您可以使用 IIS 內的 SMTP 電子郵件 功能,連線到 Windows Server 上現有的 SMTP 伺服器。 SMTP 電子郵件功能不是 SMTP 伺服器,這是SQL Server Database Mail的必要專案。 因此,本主題不包含在用戶端作業系統上安裝和設定 SMTP 伺服器的步驟。
安裝和設定 SMTP 伺服器
這些步驟適用於:
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
安裝 SMTP 伺服器
在伺服器管理員中,選取左窗格中的 [儀表板]。
選取 [新增角色和功能]。 您也可以從右上角的 [管理] 功能表開啟 [新增角色和功能]。
在 [在您開始前] 中選取 [下一步]。
選取 [角色型或功能型安裝],然後選取 [ 下一步]。
選取 [從伺服器集區選取伺服器]、選取所需的伺服器,然後選取 [ 下一步]。 [伺服器選取] 視窗會列出已在 伺服器管理員中使用 [新增伺服器] 新增的伺服器。 根據預設,它會選取本機伺服器。
在 [伺服器角色]中,選取 [ 下一步]。
在 [功能] 中,檢查 [SMTP 伺服器]。 如果出現提示,請選取 [ 新增功能]。 選取 [下一步]。
在 [確認] 中,選取 [視需要自動重新開機目的地伺服器],然後選取 [ 安裝]。 完成之後,請選取 [關閉]。
設定 SMTP 伺服器
下列步驟使用 IIS 6.0 管理員來設定 SMTP 虛擬伺服器︰
開啟 IIS 管理員:在 [開始] 中,搜尋 inetmgr6.exe,然後加以開啟。
展開電腦名稱。 以滑鼠右鍵按一下 [SMTP 虛擬伺服器 #1],然後選取 [ 屬性]。
在 [ 存取] 索引標籤中,選取 [ 轉寄] 按鈕。
選取 [新增]。 針對 [單一電腦],輸入
127.0.0.1
,然後選取 [ 確定]。新增 127.0.0.1,即允許本機伺服器傳送來自這個 SMTP 伺服器的訊息。 如果您想要其他電腦傳送來自這個 SMTP 伺服器的訊息,請輸入其 IP 位址。
在 [ 傳遞] 索引標籤中,選取 [ 輸出安全性]。 從下列選擇:
匿名存取:不需要帳戶名稱或密碼。 這個選項會停用 SMTP 伺服器的驗證。
基本驗證:您要連線之伺服器的帳戶名稱和密碼會以純文字傳送。 您輸入的這個帳戶會傳輸電子郵件。 將電子郵件傳送至個人帳戶或 Exchange 帳戶時,可以選取基本驗證。 由於認證會以純文字傳遞,因此建議啟用 TLS 加密。
整合式 Windows 驗證:Windows 功能變數名稱和密碼是用來驗證。 您輸入的帳戶會傳輸電子郵件。
TLS 加密:類似于 SSL,TLS 會保護連線。 需要在這部伺服器上安裝有效的 SSL 伺服器憑證。
提示
若要使用個人電子郵件帳戶測試核心 SMTP 功能,包括 Exchange 帳戶,請選取 [ 匿名存取]。 選取 [基本驗證] 時,SMTP 會使用 AUTH 命令。 某些電子郵件提供者可能會因 AUTH 命令而失敗。 如果 AUTH 命令失敗,可能會在 SMTP 伺服器的 Windows 事件記錄檔中記錄錯誤。
在 [ 傳遞] 索引標籤中,選取 [ 輸出連線]。 TCP 通訊埠預設為 25。 如果您在防火牆內開啟不同的通訊埠,則可以輸入該連接埠。 選取 [確定]。
在 [ 傳遞] 索引標籤中,選取 [ 進階]。 根據預設,會列出本機伺服器 的完整功能變數名稱 。 視網際網路提供者而定, Smart Host 屬性可以維持空白。 您可能需要連絡網際網路提供者,確認是否需要智慧主機。 否則,您可以輸入 smtp。EMailProvider.com。
注意
智慧主機也稱為轉送主機,是Exchange Server用來路由傳送所有傳出訊息的專用伺服器。 當 智慧主機 收到訊息時, 智慧主機 會將訊息轉送至遠端網域。 智慧主機的目標是要改善Exchange Server的效能。 Exchange Server 只會傳輸至智慧主機;而不是重複連絡遠端網域直到建立連線。
選取 [確定 ] 以關閉所有視窗。
重新開機 SMTP 伺服器:以滑鼠右鍵按一下 [SMTP 虛擬伺服器 #1],選取 [停止],然後選取 [ 啟動]。 需要重新啟動,才能套用 SMTP 伺服器設定。
Windows Server 2008 R2:安裝和設定 SMTP 伺服器
安裝 SMTP 伺服器
下列步驟會安裝 SMTP 伺服器功能︰
在[伺服器管理員] 中,選取 [功能],然後選取 [新增功能]。
在 [新增功能] 中,選取 [SMTP 伺服器]。 如果出現提示,請選取 [ 新增必要的角色服務],然後選取 [ 下一步]。
選取 [ 下一步],繼續進行安裝。
在 [ 確認安裝選項] 視窗中,選取 [ 安裝]。 完成之後,請選取 [關閉]。
設定 SMTP 伺服器
下列步驟使用 IIS 6.0 管理員來設定 SMTP 虛擬伺服器︰
開啟 IIS 6.0 管理員:在 [開始] 中,搜尋 IIS,然後選取 [ Internet Information Services (IIS) 6.0 管理員]。
展開電腦名稱。 以滑鼠右鍵按一下 [SMTP 虛擬伺服器 #1],然後選取 [ 屬性]。
在 [ 存取] 索引標籤中,選取 [ 轉寄] 按鈕。
選取 [新增]。 針對 [單一電腦],輸入
127.0.0.1
,然後選取 [ 確定]。新增 127.0.0.1,即允許本機伺服器傳送來自這個 SMTP 伺服器的訊息。 如果您想要其他電腦傳送來自這個 SMTP 伺服器的訊息,請輸入其 IP 位址。
在 [ 傳遞] 索引標籤中,選取 [ 輸出安全性]。 從下列選擇:
匿名存取:不需要帳戶名稱或密碼。 這個選項會停用 SMTP 伺服器的驗證。
基本驗證:您要連線的伺服器帳戶名稱和密碼會以純文字形式傳送。 將電子郵件傳送至個人帳戶或 Exchange 帳戶時,可以選取基本驗證。 由於認證會以純文字傳遞,因此建議您啟用 TLS 加密。
整合式 Windows 驗證:使用 Windows 網域帳戶名稱和密碼進行驗證。 您輸入的帳戶會傳輸電子郵件。
TLS 加密:類似于 SSL,TLS 會保護連線。 需要在這部伺服器上安裝有效的 SSL 伺服器憑證。
提示
若要使用個人電子郵件帳戶測試核心 SMTP 功能,包括 Exchange 帳戶,請選取 [匿名存取]。 選取 [基本驗證] 時,SMTP 會使用 AUTH 命令。 某些電子郵件提供者可能會因 AUTH 命令而失敗。 如果 AUTH 命令失敗,可能會在 SMTP 伺服器的 Windows 事件記錄檔中記錄錯誤。
在 [ 傳遞] 索引標籤中,選取 [ 輸出連線]。 TCP 通訊埠預設為 25。 如果您在防火牆內開啟不同的通訊埠,則可以輸入該連接埠。 選取 [確定]。
提示
TCP 通訊埠可以用於傳入連接和傳出連接。
在 [ 傳遞] 索引標籤中,選取 [ 進階]。 根據預設,會列出本機伺服器 的完整功能變數名稱 。 視網際網路提供者而定, Smart Host 屬性可以維持空白。 您可能需要連絡網際網路提供者,確認是否需要智慧主機。 否則,您可以輸入 smtp。EMailProvider.com。
注意
智慧型主機也稱為轉送主機,是Exchange Server用來路由傳送所有傳出訊息的專用伺服器。 當 智慧主機 收到訊息時, 智慧主機 會將訊息轉送至遠端網域。 智慧型主機的目標是要改善Exchange Server的效能。 Exchange Server 只會傳輸至智慧主機;而不是重複連絡遠端網域直到建立連線。
選取 [確定 ] 以關閉所有視窗。
需要重新啟動,才能套用 SMTP 伺服器設定。 若要重新開機 SMTP 伺服器:以滑鼠右鍵按一下 [SMTP 虛擬伺服器 #1],請選取 [ 停止],然後選取 [ 啟動]。
測試 SMTP 伺服器
Telnet 可以用來測試 SMTP 伺服器組態。 下列步驟使用您設定的 SMTP 伺服器將訊息傳送至電子郵件地址。 如需 telnet 命令的詳細資訊,請移至 Windows 命令:telnet。
以系統管理員身分開啟命令視窗。
在命令提示字元中,輸入:
telnet localhost 25
如果未安裝 telnet,請輸入下列命令進行安裝︰
pkgmgr /iu:"TelnetClient"
輸入下列命令開始通訊︰
EHLO server
輸入郵件寄件者地址︰
MAIL FROM: *YourEmailAddress*@*YourProvider*.com
例如,輸入:
MAIL FROM: EmailAddress@outlook.com
輸入郵件收件者地址︰
RCPT TO: *YourEmailAddress*@*YourProvider*.com
例如,輸入:
RCPT TO: EmailAddress@outlook.com
輸入下列命令,告知準備好要傳送資料的 SMTP 伺服器︰
DATA
輸入下列命令,輸入主旨︰
Subject: Test Message
按 Enter 兩次。
輸入下列命令,輸入訊息主體:
This is the message body of the test message.
按 Enter,並輸入句號 (.),然後按 Enter。
檢查電子郵件訊息的 RCPT TO 位址。 如果未傳遞電子郵件 (請檢查您的收件匣和垃圾郵件資料夾),則不會成功傳送訊息,而訊息可能位在 SMTP Queue 資料夾 (C:\inetpub\mailroot\Queue) 中。