預設情況下使用Reporting Service對域外郵件發送會失敗,一般可能會碰到下面的兩個錯誤:
ERROR 1:
Subscription Error: "The e-mail address of one or more recipients is not valid."
This error usually occurs when the SMTP server is not configured for "email relay". SMTP relay between the Reporting Services server and the SMTP server should be enabled.
ERROR 2:
Failure sending mail: The server rejected the sender address. The server response was: 550 5.7.1 Client does not have permissions to send as this sender
解決辦法:
With authentication:
Configure the option <SMTPAuthenticate> to 2 in the rsreportserver.config
file to specify that the report server connects to the remote SMTP server in an
authenticated way. More info:
Configuring a Report Server for E-Mail Delivery
http://msdn.microsoft.com/en-gb/library/ms159155(v=sql.105).aspx
2. If you want to configure the relay authenticated, you need to give “Send As” permissions Reporting Services account in the SMTP server. “Send As” allows one user to send an email as though it came from another user. More info:
How to Manually Grant Send As Permissions to a User with Full Mailbox Access
http://technet.microsoft.com/en-us/library/bb125118(EXCHG.65).aspx
Anonymous:
Configure the option <SMTPAuthenticate> to 0. More info:
Configuring a Report Server for E-Mail Delivery
http://msdn.microsoft.com/en-gb/library/ms159155(v=sql.105).aspx
2. Create a receive connector to accept the anonymous relay and add the IP of the Reporting Services machine to the list of IPs of the connector.
配置完成後可以正常發送郵件了。
順便吐槽一下微軟的SSRS的配置介面,在Database Mail配置的過程中有很多選項可以供選擇,比如使用哪種認證方式,但是在SSRS的配置介面中就一個發送賬戶和SMTP Server,難道不能也像DB Mail那樣配置嘛?非得要去修改Config 檔案。
本文出自 “關注SQL Server技術” 部落格,請務必保留此出處http://lzf328.blog.51cto.com/1196996/1294872