SSRS 订阅:新定义失败,旧定义有效

SSRS Subscription: newly defined fails, old one works

新创建的新报告订阅失败,错误为“发送邮件失败:指定的字符串不是电子邮件所需的格式 address.Mail 将不会重新发送。”

它的定义方式与现有的相同,使用自开始工作以来未更改配置的相同 ReportServer。 使用完整的电子邮件地址 (user.name@do-main.co.uk),在 Exchange 服务器上设置的现有 SMTP 服务器(工作,其他服务成功使用它)但队列不会接收新的订阅电子邮件。此报告的安全性是单独管理的(访问受限,用户使用完整的 DOMAIN\User 名称表示法添加)。

firewall/proxy 设置发生了变化,但 SSRS 无论如何都是内部的,所以看不到连接..

我还能在哪里查看问题所在?

我删除了订阅并从头开始重新创建。没有错误,一切正常。有趣的是,我手动输入了电子邮件地址,这与之前从其他地方复制粘贴它们的尝试形成对比。

还是很奇怪。

您复制时可能包含字符,名称必须完全匹配。我遇到过这个问题,很挑剔...

这里有一些有助于分析订阅的脚本,微软并没有在后台轻松识别个人用户和报告,但如果有一个隐藏的,你可能会发现这里的错别字:

;

WITH subscriptionXmL
AS (
    SELECT SubscriptionID
        ,OwnerID
        ,Report_OID
        ,Locale
        ,InactiveFlags
        ,ExtensionSettings
        ,CONVERT(XML, ExtensionSettings) AS ExtensionSettingsXML
        ,ModifiedByID
        ,ModifiedDate
        ,Description
        ,LastStatus
        ,EventType
        ,MatchData
        ,LastRunTime
        ,Parameters
        ,DeliveryExtension
        ,Version
    FROM ReportServer.dbo.Subscriptions
    )
    ,
    -- Get the settings as pairs
SettingsCTE
AS (
    SELECT SubscriptionID
        ,ExtensionSettings
        ,
        -- include other fields if you need them.
        ISNULL(Settings.value('(./*:Name/text())[1]', 'nvarchar(1024)'), 'Value') AS SettingName
        ,Settings.value('(./*:Value/text())[1]', 'nvarchar(max)') AS SettingValue
    FROM subscriptionXmL
    CROSS APPLY subscriptionXmL.ExtensionSettingsXML.nodes('//*:ParameterValue') Queries(Settings)
    )
SELECT *
FROM SettingsCTE
WHERE settingName IN ('TO', 'CC', 'BCC')

还可以找到这篇关于设置订阅的精彩文章:

http://www.sqlcircuit.com/2012/10/ssrs-implementation-of-file-share.html