我正在尝试配置SQL Server Reporting Services以发送电子邮件。环境是:
用户配置邮件订阅后,当触发状态更改为以下错误时:
发送邮件失败:文件名, 目录名称或卷标语法 是不正确的。邮件不会被重新发送。
这是rsreportserver.config的相关部分:
<Extension Name="Report Server Email" Type="Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider,ReportingServicesEmailDeliveryProvider">
<MaxRetries>3</MaxRetries>
<SecondsBeforeRetry>900</SecondsBeforeRetry>
<Configuration>
<RSEmailDPConfiguration>
<SMTPServer>
</SMTPServer>
<SMTPServerPort>
</SMTPServerPort>
<SMTPAccountName>
</SMTPAccountName>
<SMTPConnectionTimeout>
</SMTPConnectionTimeout>
<SMTPServerPickupDirectory>
C:\inetpub\mailroot\Pickup
</SMTPServerPickupDirectory>
<SMTPUseSSL>
</SMTPUseSSL>
<SendUsing>
1
</SendUsing>
<SMTPAuthenticate>
</SMTPAuthenticate>
<From>
ssrsUserAccount@domain.com
</From>
<EmbeddedRenderFormats>
<RenderingExtension>MHTML</RenderingExtension>
</EmbeddedRenderFormats>
<PrivilegedUserRenderFormats>
</PrivilegedUserRenderFormats>
<ExcludedRenderFormats>
<RenderingExtension>HTMLOWC</RenderingExtension>
<RenderingExtension>NULL</RenderingExtension>
<RenderingExtension>RGDI</RenderingExtension>
</ExcludedRenderFormats>
<SendEmailToUserAlias>True</SendEmailToUserAlias>
<DefaultHostName>
</DefaultHostName>
<PermittedHosts>
</PermittedHosts>
</RSEmailDPConfiguration>
</Configuration>
</Extension>
我已经验证了运行SSRS的帐户对SMTP提取目录(C:\ inetpub \ mailroot \ Pickup)及其对等方具有完全控制权限。
ReportServerService日志没有任何显示内容。
答案 0 :(得分:1)
问题是SMPT服务器一检测到就开始解析EML文件。这是完全公平的,但问题是SSRS并不总是写完文件 - 竞争条件。
解决方案是指示SSRS写入临时目录,然后将EML文件移动到Pickup。