Ошибка почты SSRS: «Неверный синтаксис имени файла, имени каталога или метки тома» - PullRequest
1 голос
/ 02 октября 2009

Я пытаюсь настроить службы отчетов SQL Server для отправки электронной почты. Окружающая среда:

  • Windows Server 2008 Enterprise
  • SQL Server 2008 Enterprise
  • SSRS, работающий в основном режиме
  • SMTP-сервер через IIS7, настроенный как ограниченный ретранслятор

После того, как пользователь настроил подписку на почту, при ее срабатывании состояние изменится на следующую ошибку:

Ошибка отправки почты: имя файла, имя каталога или синтаксис метки тома это неверно. Почта не будет отправлена.

Вот соответствующий раздел 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 не содержит ничего показательного.

1 Ответ

1 голос
/ 03 октября 2009

Проблема в том, что SMPT-сервер начинает анализировать файл EML, как только он его обнаруживает. Это совершенно справедливо, но проблема в том, что SSRS не всегда делает запись файла - условие гонки.

Решение состоит в том, чтобы дать команду SSRS записать во временный каталог, а затем переместить файлы EML в Pickup.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...