默认情况下使用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:
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:
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 文件。