設定報表伺服器的電子郵件傳遞
Reporting Services 包含一個電子郵件傳遞延伸模組,讓您能夠透過電子郵件散發報表。根據您定義電子郵件訂閱的方式而定,傳遞可能會由通知、連結、附加檔案或內嵌報表所組成。電子郵件傳遞延伸模組可搭配現有的郵件伺服器技術一起使用。郵件伺服器必須是 SMTP 伺服器或轉送器。報表伺服器會透過作業系統提供的 Collaboration Data Objects (CDO) 程式庫 (cdosys.dll) 連接到 SMTP 伺服器。
根據預設,系統並不會設定報表伺服器電子郵件傳遞延伸模組。您必須使用 Reporting Services 組態工具,以最少的方式設定此延伸模組。若要設定進階屬性,則必須編輯 RSReportServer.config 檔案。如果您無法將報表伺服器設定為使用此延伸模組,則可以改成將報表傳遞到共用資料夾。如需詳細資訊,請參閱《SQL Server 線上叢書》中的<Reporting Services 中的檔案共用傳遞>。
組態需求
報表伺服器電子郵件傳遞是在 Collaboration Data Objects (CDO) 上實作,並需要本機或遠端 Simple Mail Transfer Protocol (SMTP) 伺服器或 SMTP 轉送器。並非所有的 Windows 作業系統都支援 SMTP。如果您是使用 Itanium 型版本的 Windows Server 2008,SMTP 將不受支援。如需有關透過 CDO 提供之組態選項的詳細資訊,請參閱 MSDN 上的<組態 CoClass>(英文)。
報表伺服器服務帳戶在 SMTP 伺服器上必須擁有傳送郵件的權限。
電子郵件傳遞延伸模組會在電子郵件附加檔案中使用 UTF-8 編碼。您不能修改編碼;HTML 轉譯延伸模組只支援 UTF-8。
[!附註]
預設電子郵件傳遞延伸模組不提供以數位方式,將外寄郵件訊息簽章或加密的支援。
設定報表伺服器,以供本機或遠端 SMTP 服務
您可以使用本機 SMTP 服務,或遠端 SMTP 伺服器或轉送子以支援電子郵件傳遞。如果您擁有現有之遠端 SMTP 伺服器的存取權,應該考慮使用該存取權。如果沒有可用的 SMTP 伺服器,或者您隨後遇到因為電腦連接失敗造成的報表傳遞錯誤,則應該切換到使用本機 SMTP 服務。此主題會進一步提供有關如何設定報表伺服器,以供本機或遠端服務的詳細資料。
設定電子郵件傳遞的組態選項
您必須先設定提供要使用哪個 SMTP 伺服器之相關資訊的組態值,才能使用報表伺服器電子郵件傳遞。
若要為電子郵件傳遞設定報表伺服器,請執行下列步驟:
如果您只是要指定 SMTP 伺服器和一個擁有傳送電子郵件之權限的使用者帳戶,請使用 Reporting Services 組態工具。這些是設定報表伺服器電子郵件傳遞延伸模組時所需的最小設定。如需詳細資訊,請參閱<如何:為電子郵件傳遞設定報表伺服器 (Reporting Services 組態)>。
(選擇性) 請使用文字編輯器在 RSreportserver.config 檔案中指定其他設定。這個檔案包含報表伺服器電子郵件傳遞的所有組態設定。如果您要使用本機 SMTP 伺服器,或要設定只能對特定主機進行電子郵件傳遞的限制,則必須在這些檔案中指定其他設定。如需有關尋找和修改組態檔的詳細資訊,請參閱《SQL Server 線上叢書》中的<如何:修改 Reporting Services 組態檔>。
[!附註]
報表伺服器電子郵件設定是以 CDO 為基礎。如果您想要取得有關特定設定的詳細資料,可以參考 CDO 產品文件集。
範例報表伺服器電子郵件組態
下列範例說明遠端 SMTP 伺服器之 RSreportserver.config 檔案中的設定。若要查看有關設定描述和有效值的資訊,請參閱《SQL Server 線上叢書》中的<RSReportServer 組態檔>或 CDO 產品文件集。
<RSEmailDPConfiguration>
<SMTPServer>mySMTPServer.Adventure-Works.com</SMTPServer>
<SMTPServerPort></SMTPServerPort>
<SMTPAccountName></SMTPAccountName>
<SMTPConnectionTimeout></SMTPConnectionTimeout>
<SMTPServerPickupDirectory></SMTPServerPickupDirectory>
<SMTPUseSSL></SMTPUseSSL>
<SendUsing>2</SendUsing>
<SMTPAuthenticate></SMTPAuthenticate>
<From>my-rs-email-account@Adventure-Works.com</From>
<EmbeddedRenderFormats>
<RenderingExtension>MHTML</RenderingExtension>
</EmbeddedRenderFormats>
<PrivilegedUserRenderFormats></PrivilegedUserRenderFormats>
<ExcludedRenderFormats>
<RenderingExtension>HTMLOWC</RenderingExtension>
<RenderingExtension>NULL</RenderingExtension>
</ExcludedRenderFormats>
<SendEmailToUserAlias>True</SendEmailToUserAlias>
<DefaultHostName></DefaultHostName>
<PermittedHosts>
<HostName>Adventure-Works.com</HostName>
<HostName>hotmail.com</HostName>
</PermittedHosts>
</RSEmailDPConfiguration>
設定郵件收件者欄位的組態選項
如果依據 [管理個別訂閱] 工作所授與的權限建立使用者自訂訂閱,這些訂閱中便會包含以網域使用者帳戶為基礎的預設使用者名稱。當使用者建立訂閱時,系統就會利用建立訂閱之使用者的網域使用者帳戶,自行處理 [收件者:] 欄位中的收件者名稱。
如果使用 SMTP 伺服器或轉送器,而伺服器或轉送器所使用的電子郵件帳戶與網域使用者帳戶不同時,則 SMTP 伺服器嘗試將報表傳遞給該使用者時便會失敗。
若要解決這個問題,您可以修改組態,允許使用者在 [收件者:] 欄位中輸入名稱:
以文字編輯器開啟 RSReportServer.config。
將 SendEmailToUserAlias 設定為 False。
將 DefaultHostName 設定為 SMTP 伺服器或轉送器的網域名稱系統 (DNS) 名稱或 IP 位址。
儲存檔案。
遠端 SMTP 服務的組態選項
報表伺服器和 SMTP 伺服器或轉寄站之間的連接,是由下列組態設定決定:
[SendUsing] 會指定傳送訊息的方法。您可以選擇網路 SMTP 服務或本機 SMTP 服務收取目錄。若要使用遠端 SMTP 服務,必須在 RSReportServer.config 檔案中將此值設定為 2。
[SMTPServer] 會指定遠端 SMTP 伺服器或轉送子。如果您使用的是遠端 SMTP 伺服器或轉送子,此值為必要的。
[寄件者] 設定的值,會在電子郵件訊息 [寄件者:] 行內顯示。如果您使用的是遠端 SMTP 伺服器或轉送子,此值為必要的。
用於遠端 SMTP 服務的其他值包括下列項目 (請注意,除非您要覆寫預設值,否則不需要指定這些值)。
[SMTPServerPort] 會設定為通訊埠 25。
[SMTPAuthenticate] 會指定報表伺服器如何連接到遠端 SMTP 伺服器。預設值是 0 (或無驗證)。在此情況下,連接是透過匿名存取。依照您的網域組態,報表伺服器和 SMTP 伺服器可能必須是同一網域的成員。
若要傳送電子郵件至限制的散發清單 (例如,只接受來自已驗證帳戶之內送訊息的散發清單),請將 [SMTPAuthenticate] 設定為 [2]。
本機 SMTP 服務的組態選項
如果您是測試報表伺服器電子郵件傳遞或進行疑難排解,則設定本機 SMTP 服務很有用。根據預設,不會啟用本機 SMTP 服務。如需如何啟用該服務的指示,請參閱<如何:為電子郵件傳遞設定報表伺服器 (Reporting Services 組態)>。
報表伺服器和本機 SMTP 伺服器或轉寄站之間的連接,是由下列組態設定決定:
[SendUsing] 設定為 [1]。
[SMTPServerPickupDirectory] 設定為本機磁碟機上的資料夾。
[!附註]
如果是使用本機 SMTP 伺服器,請確定並未設定 [SMTPServer]。
[寄件者] 設定的值,會在電子郵件訊息 [寄件者:] 行內顯示。此值為必要的。