<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.ms/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.NET del día a día : SQL Server 2008</title><link>http://geeks.ms/blogs/rcarreras/archive/tags/SQL+Server+2008/default.aspx</link><description>Etiquetas: SQL Server 2008</description><dc:language /><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Configurando SQL Server 2008 para enviar emails (paso a paso)</title><link>http://geeks.ms/blogs/rcarreras/archive/2009/09/16/configurando-sql-server-2008-para-enviar-emails-paso-a-paso.aspx</link><pubDate>Thu, 17 Sep 2009 00:53:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:155986</guid><dc:creator>Ronny Carreras</dc:creator><slash:comments>15</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/rcarreras/rsscomments.aspx?PostID=155986</wfw:commentRss><comments>http://geeks.ms/blogs/rcarreras/archive/2009/09/16/configurando-sql-server-2008-para-enviar-emails-paso-a-paso.aspx#comments</comments><description>&lt;p&gt;Hoy en d&amp;iacute;a la mayor&amp;iacute;as de las aplicaciones hacen uso de los servicios de Exchange o SMTP para enviar correos electr&amp;oacute;nicos a los usuarios, en muchas ocasiones el env&amp;iacute;o del correo lo hacemos a trav&amp;eacute;s de la aplicaci&amp;oacute;n misma pero existen escenarios en donde es preferible hacer el env&amp;iacute;o de correos desde nuestro repositorio de datos.&lt;/p&gt;
&lt;p&gt;A continuaci&amp;oacute;n mostrar&amp;eacute; paso a paso como configurar el servicio de correos en SQL Server 2008, como asignar permisos a usuarios de base de datos para que utilicen el profile que hemos creado para el env&amp;iacute;o de correos.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Paso 1: Creaci&amp;oacute;n del &amp;ldquo;Profile&amp;rdquo; y el &amp;ldquo;Account&amp;rdquo;&lt;/strong&gt;, en el &amp;ldquo;Managment Studio&amp;rdquo; click derecho sobre &amp;ldquo;Database Mail&lt;/p&gt;
&lt;table width="500" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="500" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/01_5F00_1E52DA6E.png"&gt;&lt;img height="321" width="424" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/01_5F00_thumb_5F00_08D0C56D.png" alt="0[1]" border="0" title="0[1]" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="500" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/11_5F00_594E1CD4.png"&gt;&lt;img height="420" width="484" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/11_5F00_thumb_5F00_68E9523F.png" alt="Paso 2" border="0" title="Paso 2" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="500" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/21_5F00_4AC6E4B2.png"&gt;&lt;img height="422" width="484" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/21_5F00_thumb_5F00_4751133E.png" alt="2[1]" border="0" title="2[1]" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="500" valign="top"&gt;Si es la primera vez que configura el servicio, entonces debes activarlo dando click en la opci&amp;oacute;n &amp;ldquo;yes&amp;rdquo;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/31_5F00_4B86FCD1.png"&gt;&lt;img height="98" width="424" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/31_5F00_thumb_5F00_23D05ADA.png" alt="3[1]" border="0" title="3[1]" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="500" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/41_5F00_436F0ED5.png"&gt;&lt;img height="426" width="484" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/41_5F00_thumb_5F00_79DC6E7F.png" alt="4[1]" border="0" title="4[1]" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="500" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/51_5F00_315EB749.png"&gt;&lt;img height="416" width="484" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/51_5F00_thumb_5F00_35D47669.png" alt="5[1]" border="0" title="5[1]" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="500" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/61_5F00_01DC0EB1.png"&gt;&lt;img height="424" width="484" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/61_5F00_thumb_5F00_5CFA85D2.png" alt="6[1]" border="0" title="6[1]" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="500" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/71_5F00_73B90BB4.png"&gt;&lt;img height="420" width="484" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/71_5F00_thumb_5F00_4949883F.png" alt="7[1]" border="0" title="7[1]" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="500" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/81_5F00_7DC998E0.png"&gt;&lt;img height="420" width="484" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/81_5F00_thumb_5F00_49752400.png" alt="8[1]" border="0" title="8[1]" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="500" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/91_5F00_799BAD1C.png"&gt;&lt;img height="420" width="484" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/91_5F00_thumb_5F00_336AA46F.png" alt="9[1]" border="0" title="9[1]" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Paso 2: Enviar un Email&lt;/strong&gt;, despues que la configuracion esta hecha existen dos formas de probar nuestro servicio, el primero es desde la ventana &amp;ldquo;Send Test Email&amp;rdquo;&amp;nbsp; o ejecutando el procedure &amp;ldquo;sp_send_dbmail&amp;rdquo; veamos los ejemplos:&lt;/p&gt;
&lt;table width="500" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="500" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/101_5F00_087EC838.png"&gt;&lt;img height="294" width="424" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/rcarreras/101_5F00_thumb_5F00_7681E8D0.png" alt="10[1]" border="0" title="10[1]" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="500" valign="top"&gt;El envio desde T-SQL es: &lt;br /&gt;
&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;EXEC &lt;/span&gt;msdb&lt;span style="color:gray;"&gt;.&lt;/span&gt;dbo&lt;span style="color:gray;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;sp_send_dbmail &lt;/span&gt;@profile_name&lt;span style="color:gray;"&gt;=&lt;/span&gt;&lt;span style="color:red;"&gt;&amp;#39;BlogProfile&amp;#39;&lt;/span&gt;&lt;span style="color:gray;"&gt;,
    &lt;/span&gt;@recipients&lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:red;"&gt;&amp;#39;prueba@dominio.com&amp;#39;&lt;/span&gt;&lt;span style="color:gray;"&gt;,
    &lt;/span&gt;@subject&lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:red;"&gt;&amp;#39;Mensaje de Prueba&amp;#39;&lt;/span&gt;&lt;span style="color:gray;"&gt;,
    &lt;/span&gt;@body&lt;span style="color:gray;"&gt;= &lt;/span&gt;&lt;span style="color:red;"&gt;&amp;#39;Este es el cuerpo del mensaje y escribo un texto de prueba.&amp;#39;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;La lista completa de parametros que recibe este &amp;ldquo;Store Procedure&amp;rdquo; puedes conseguirlo desde &lt;a target="_blank" href="http://mce_host/controlpanel/blogs/posteditor.aspx/EXEC%20msdb.dbo.sp_send_dbmail%20@profile_name=&amp;#39;BlogProfile&amp;#39;,"&gt;aqu&amp;iacute;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Paso 3: Asingaci&amp;oacute;n de Permisos&lt;/strong&gt;, Sucede que esta configuraci&amp;oacute;n y la prueba ls hice con un usuario &amp;ldquo;sysadmin&amp;rdquo;, pero ni necesitamos que cualquier usuario en nuestra base de datos utilice este &amp;ldquo;Profile&amp;rdquo; para enviar email debemos de otorgarle el permiso ejecutando este script:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;USE &lt;/span&gt;msdb
&lt;span style="color:blue;"&gt;GO
EXEC &lt;/span&gt;&lt;span style="color:maroon;"&gt;sp_adduser &lt;/span&gt;@loginame&lt;span style="color:gray;"&gt;=&lt;/span&gt;&lt;span style="color:red;"&gt;&amp;#39;AQUI VA EL USERNAME&amp;#39;&lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;&lt;br /&gt;@grpname&lt;span style="color:gray;"&gt;=&lt;/span&gt;&lt;span style="color:red;"&gt;&amp;#39;DatabaseMailUserRole&amp;#39;
&lt;/span&gt;&lt;span style="color:blue;"&gt;GO
&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;El administrador de base de datos puede monitorear los mensajes enviados a traves de las siguientes vistas o tablas que estan en la base de datos &amp;ldquo;MSDB&amp;rdquo;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;sysmail_allitems : verifica todos los items enviados.&lt;/li&gt;
&lt;li&gt;sysmail_faileditems:&amp;nbsp; los correos que han fallado.&lt;/li&gt;
&lt;li&gt;sysmail_event_log: El log de eventos de los emails.&lt;/li&gt;
&lt;li&gt;sysmail_mailattachments: la vista de los attachments.&lt;/li&gt;
&lt;li&gt;entre otros.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;** Puedes seguirme en &lt;a target="_blank" href="http://twitter.com/ronnycarreras"&gt;twitter&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=155986" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/rcarreras/archive/tags/SQL/default.aspx">SQL</category><category domain="http://geeks.ms/blogs/rcarreras/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category></item></channel></rss>