SQL Server Reporting Services : Activer l’envoi de message nécessitant l’authentification sur le serveur SMTP
Nous avons vu dans un précédant article que SQL Server Reporting Services peut être utilisé pour générer une “NewsLetter” par l’usage de la fonctionnalité des abonnements :
Un problème apparait si on souhaite utiliser une liste de distribution dynamique telle que :
- Tous les Utilisateurs d’une région
On active dans ce contexte une protection dans Exchange afin de ne pas laisser n’importe qui utiliser ce type de liste. Ainsi seuls les comptes autorisés explicitement pourront envoyer un message à cette adresse.
Qu’en est-il du serveur de rapport ?
Activation de l’authentification
Il faut donc activer cette authentification dans Reporting Services via la modification du fichier de configuration “rsreportserver.config” qui se trouve généralement dans le répertoire (pour SQL Server 2008 R2) :
- C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\
Il faut donc chercher la clé “SMTPAuthenticate” pour fixer la valeur à 2 :
….
<Extension Name="Report Server Email" Type="Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider,ReportingServicesEmailDeliveryProvider">
<MaxRetries>3</MaxRetries>
<SecondsBeforeRetry>900</SecondsBeforeRetry>
<Configuration>
<RSEmailDPConfiguration>
<SMTPServer>smtp.mydomain.com</SMTPServer>
<SMTPServerPort>25</SMTPServerPort>
<SMTPAccountName></SMTPAccountName>
<SMTPConnectionTimeout></SMTPConnectionTimeout>
<SMTPServerPickupDirectory></SMTPServerPickupDirectory>
<SMTPUseSSL></SMTPUseSSL>
<SendUsing>2</SendUsing>
<SMTPAuthenticate>2</SMTPAuthenticate>
<From>xxx.yyy@mydomain.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>
<HostName>mydomain.com</HostName>
</PermittedHosts>
</RSEmailDPConfiguration>
</Configuration>
</Extension>
….
Il faut ensuite relancer le service SQL Server reporting Services, et lancer l’assistant de configuration de Reporting Services “Reporting Services Configuration Manager”, pour se connecter sur le serveur qui devra envoyer les messages :
Il faut définir dans ce champs “Service Account”, un compte qui doit avoir une boite Email valide sur Exchange et qui devra aussi être authorisé à envoyer un message à cette liste dynamique.
Il faut aussi utiliser l’adresse Email de ce même compte (valide) dans le champs de “E-mail Settings” :
On valide chaque modification par “Apply” et on relance le service.
Les sources de cette solution :
- Rsreportserver.config Smtp password settings
- Configuring a Report Server for E-Mail Delivery
- SSRS: Email Subscription
Romelard Fabrice [MVP]
Commentaires
Enregistrer un commentaire