共用方式為


為電子郵件傳遞設定報表伺服器 (SSRS 組態管理員)

Reporting Services 包含一個電子郵件傳遞延伸模組,讓您能夠透過電子郵件散發報表。 根據您定義電子郵件訂閱的方式而定,傳遞可能會由通知、連結、附加檔案或內嵌報表所組成。 電子郵件傳遞延伸模組可搭配現有的郵件伺服器技術一起使用。 郵件伺服器必須是 SMTP 伺服器或轉送器。 報表伺服器會透過作業系統提供的 Collaboration Data Objects (CDO) 程式庫 (cdosys.dll) 連接到 SMTP 伺服器。

根據預設,系統並不會設定報表伺服器電子郵件傳遞延伸模組。 您必須使用 Reporting Services 組態管理員,以最低限度的方式設定此延伸模組。 若要設定進階屬性,則必須編輯 RSReportServer.config 檔案。 如果您無法將報表伺服器設定為使用此延伸模組,則可以改成將報表傳遞到共用資料夾。 如需詳細資訊,請參閱< File Share Delivery in Reporting Services>。

適用于: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 組態管理員。 這些是設定報表伺服器電子郵件傳遞延伸模組時所需的最小設定。 如需詳細資訊,請參閱電子郵件設定 - Configuration Manager (SSRS 原生模式) Reporting Services 中的電子郵件傳遞

  • (選擇性) 請使用文字編輯器在 RSreportserver.config 檔案中指定其他設定。 這個檔案包含報表伺服器電子郵件傳遞的所有組態設定。 如果您要使用本機 SMTP 伺服器,或要設定只能對特定主機進行電子郵件傳遞的限制,則必須在這些檔案中指定其他設定。 如需尋找和修改組態檔的詳細資訊,請參閱《SQL Server 線上叢書》中的 Modify a Reporting Services Configuration File (rsreportserver.config) (修改 Reporting Services 組態檔 (RSreportserver.config))。

注意

報表伺服器電子郵件設定是以 CDO 為基礎。 如果您想要取得有關特定設定的詳細資料,可以參考 CDO 產品文件集。

範例報表伺服器電子郵件組態

下列範例說明遠端 SMTP 伺服器之 RSreportserver.config 檔案中的設定。 若要閱讀設定描述和有效值,請參閱 SQL Server《線上叢書》或 CDO 產品檔中的RSReportServer 組態檔

<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 伺服器嘗試將報表傳遞給該使用者時便會失敗。

若要解決這個問題,您可以修改組態,允許使用者在 [收件者:] 欄位中輸入名稱:

  1. 以文字編輯器開啟 RSReportServer.config。

  2. SendEmailToUserAlias 設定為 False

  3. DefaultHostName 設定為 SMTP 伺服器或轉送器的網域名稱系統 (DNS) 名稱或 IP 位址。

  4. 儲存檔案。

遠端 SMTP 服務的組態選項

報表伺服器和 SMTP 伺服器或轉寄站之間的連接,是由下列組態設定決定:

  • SendUsing 指定傳送訊息的方法。 您可以選擇網路 SMTP 服務或本機 SMTP 服務收取目錄。 若要使用遠端 SMTP 服務,必須在 RSReportServer.config 檔案中將此值設定為 2

  • SMTPServer 指定遠端 SMTP 伺服器或轉送子。 如果您使用的是遠端 SMTP 伺服器或轉送子,此值為必要的。

  • [From] 設定的值,會在電子郵件訊息 [寄件者:] 行內顯示。 如果您使用的是遠端 SMTP 伺服器或轉送子,此值為必要的。

用於遠端 SMTP 服務的其他值包括下列項目 (請注意,除非您要覆寫預設值,否則不需要指定這些值)。

  • [SMTPServerPort] 會設定為通訊埠 25。

  • SMTPAuthenticate 會指定報表伺服器如何連接到遠端 SMTP 伺服器。 預設值是 0 (或無驗證)。 在此情況下,連接是透過匿名存取。 依照您的網域組態,報表伺服器和 SMTP 伺服器可能必須是同一網域的成員。

    若要傳送電子郵件至限制的通訊群組清單 (例如,只接受來自已驗證帳戶之內送訊息的通訊群組清單),請將 [SMTPAuthenticate] 設定為 [2]

本機 SMTP 服務的組態選項

如果您是測試報表伺服器電子郵件傳遞或進行疑難排解,則設定本機 SMTP 服務很有用。 根據預設,不會啟用本機 SMTP 服務。 如需如何啟用的指示,請參閱設定報表伺服器以進行電子郵件傳遞 (SSRS Configuration Manager) 電子郵件設定 - Configuration Manager (SSRS 原生模式)

報表伺服器和本機 SMTP 伺服器或轉寄站之間的連接,是由下列組態設定決定:

  • SendUsing 設定為 1

  • [SMTPServerPickupDirectory] 設定為本機磁碟機上的資料夾。

    注意

    確定您使用本機 SMTP 伺服器時未設定 SMTPServer

  • [From] 設定的值,會在電子郵件訊息 [寄件者:] 行內顯示。 這是必要的值。

使用 Reporting Services 管理員設定報表伺服器電子郵件

  1. 確認報表伺服器 Windows 服務擁有 SMTP 伺服器的 Send As 權限。

  2. 啟動 Reporting Services 組態管理員,並連接到報表伺服器執行個體。

  3. 在 [電子郵件設定] 頁面上,輸入 SMTP 伺服器的名稱。 此值可以是 IP 位址、您公司內部網路之電腦的 UNC 名稱,或是完整的網域名稱。

  4. [寄件者地址]中,輸入擁有從 SMTP 伺服器傳送電子郵件之權限的帳戶名稱。

  5. 按一下 [套用]。

若要為報表伺服器設定遠端 SMTP 服務

  1. 確認報表伺服器 Windows 服務擁有 SMTP 伺服器的 Send As 權限。

  2. 在文字編輯器中開啟 RSReportServer.config 檔。

  3. 確認 <UrlRoot> 已設定為報表伺服器 URL 位址。 此值是在您設定報表伺服器時設定的,所以它應該已被填入。 如果未設定此值,請輸入報表伺服器的 URL 位址。

  4. 在 [傳遞] 區段中,尋找 <ReportServerEmail> 。

  5. 在 <SMTPServer> 中,輸入 SMTP 伺服器的名稱。 此值可以是 IP 位址、您公司內部網路之電腦的 UNC 名稱,或是完整的網域名稱。

  6. 確認 <SendUsing> 已設定為 2。 如果將它設定為其他值,報表伺服器就不會設定為使用遠端 SMTP 服務。

  7. 在 中 <From> ,輸入有權從 SMTP 伺服器傳送電子郵件的帳戶名稱。

  8. 儲存檔案。

    報表伺服器會自動使用新的設定;您不需要重新啟動服務。 您可以指定其他 SMTP 設定,來進一步設定如何將 SMTP 伺服器用於報表伺服器電子郵件傳遞。 如需詳細資訊,請參閱《線上叢書》中的 SQL Server設定報表伺服器以進行電子郵件傳遞RSReportServer 組態檔

若要為報表伺服器設定本機 SMTP 服務

  1. 在 [控制台] 中,按一下 [新增或移除程式]

  2. 按一下 [新增/移除 Windows 元件] 以啟動 [Windows 元件精靈]。

  3. 選取 [應用程式伺服器] 並按一下 [詳細資料]

  4. 選取 [Internet Information Services (IIS)] ,再按一下 [詳細資料]

  5. 選取 [SMTP 服務] 核取方塊,再按一下 [確定]

  6. 在 [Windows 元件精靈] 中按 [下一步]。 按一下 [完成] 。

  7. 確認 [服務] 主控台中有執行該服務。

  8. 在文字編輯器中開啟 RsReportServer.config 檔。

  9. 確認 <UrlRoot> 設定為報表伺服器的 URL 位址。 此值是在您設定報表伺服器時設定的,所以它應該已被填入。 如果未設定此值,請輸入報表伺服器的 URL 位址。

  10. 在 [傳遞] 區段中,尋找 <ReportServerEmail>.

  11. <SMTPServer>中,清除此設定的所有值,但不要刪除標記。

  12. 請將 <SendUsing> 設定為 1。 如果將它設定為其他值,報表伺服器就不會設定為使用本機 SMTP 服務。

  13. <SMTPServerPickupDirectory> 設定為本機磁碟機上的資料夾。

  14. <From> 設定為擁有從 SMTP 伺服器傳送電子郵件之權限的帳戶名稱。

  15. 儲存檔案。

另請參閱

Reporting Services 組態管理員 (原生模式)