使用Reporting Service订阅对域外用户发邮件

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

  1. 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:

  1. 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 文件。

上一篇:关于HandlerThread的分析


下一篇:object-c学习1