Mail desde Store Procedure

23/06/2008 - 23:42 por AlejandroArias | Informe spam
Saludos tengo un servidor X este servidor tiene una pagina web que
utiliza asp y envia mail a traves de smtp de otro servidor Z. Esto
funciona bien (lo pruebo con http://localhost:8181/EnviarMail.asp)

Pero en el servidor X tambien tengo el motor de sql 2k y existe un SP
que hace uso del mismo servidor Z para enviar mail, el sp que tengo de
prueba es algo asi como:


DECLARE @hr int
DECLARE @hrEst int
DECLARE @object int
DECLARE @iStrm int

EXEC @hr = sp_OACreate 'CDO.Message', @object OUT
EXEC @hr = sp_OASetProperty @object, 'from',
'contactenos@direccion.com'
EXEC @hr = sp_OASetProperty @object, 'to', 'alejoje@hotmail.com;'
EXEC @hr = sp_OASetProperty @object, 'subject', 'prueba'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://
schemas.microsoft.com/cdo/configuration/sendusing").Value','2'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://
schemas.microsoft.com/cdo/configuration/
smtpserver").Value','192.168.7.5'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://
schemas.microsoft.com/cdo/configuration/smtpserverport").Value','25'
EXEC @hr = sp_OAMethod @object, 'BodyPart.GetDecodedContentStream',
@iStrm out
EXEC @hr = sp_OAMethod @iStrm, 'WriteText', Null, 'Esta es una
prueba!'
EXEC @hr = sp_OAMethod @iStrm, 'WriteText', Null
EXEC @hr = sp_OAMethod @iStrm, 'Flush'
EXEC @hr = sp_OAMethod @object, 'Send'
EXEC @hr = sp_OADestroy @object

sin embargo el sp no envia ningun mail, que puedo revisar? teniendo en
cuenta que el servidor X si puede enviar mail a través del servidor Z
desde la web ?
(http://localhost:8181/EnviarMail.asp)

Preguntas similare

Leer las respuestas

#1 Maxi
24/06/2008 - 02:15 | Informe spam
Estimado, usted esta usando un componente XP en su SQL con lo cual no
podriamos saber como funciona porque esta encapsulado.

Si quiere enviar email de SQL hay varias alternativas, una de ellas (y la
natural por el sistma) es configurar un cliente MAPI (Por ejemplo outlook
2000) y los perfiles adecuados, luego usar xp_sendmail.

Si no tiene o no quiere usar MAPI puede hacer uso de esta otra opcion muy
buna

http://www.sqldev.net/xp/xpsmtp.htm


"AlejandroArias" escribió en el mensaje de
noticias
news:
Saludos tengo un servidor X este servidor tiene una pagina web que
utiliza asp y envia mail a traves de smtp de otro servidor Z. Esto
funciona bien (lo pruebo con http://localhost:8181/EnviarMail.asp)

Pero en el servidor X tambien tengo el motor de sql 2k y existe un SP
que hace uso del mismo servidor Z para enviar mail, el sp que tengo de
prueba es algo asi como:


DECLARE @hr int
DECLARE @hrEst int
DECLARE @object int
DECLARE @iStrm int

EXEC @hr = sp_OACreate 'CDO.Message', @object OUT
EXEC @hr = sp_OASetProperty @object, 'from',
''
EXEC @hr = sp_OASetProperty @object, 'to', ';'
EXEC @hr = sp_OASetProperty @object, 'subject', 'prueba'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://
schemas.microsoft.com/cdo/configuration/sendusing").Value','2'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://
schemas.microsoft.com/cdo/configuration/
smtpserver").Value','192.168.7.5'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://
schemas.microsoft.com/cdo/configuration/smtpserverport").Value','25'
EXEC @hr = sp_OAMethod @object, 'BodyPart.GetDecodedContentStream',
@iStrm out
EXEC @hr = sp_OAMethod @iStrm, 'WriteText', Null, 'Esta es una
prueba!'
EXEC @hr = sp_OAMethod @iStrm, 'WriteText', Null
EXEC @hr = sp_OAMethod @iStrm, 'Flush'
EXEC @hr = sp_OAMethod @object, 'Send'
EXEC @hr = sp_OADestroy @object

sin embargo el sp no envia ningun mail, que puedo revisar? teniendo en
cuenta que el servidor X si puede enviar mail a través del servidor Z
desde la web ?
(http://localhost:8181/EnviarMail.asp)
Respuesta Responder a este mensaje
#2 Gux (MVP)
24/06/2008 - 19:44 | Informe spam
Usted deberia atrapar los posibles errores al ejecutar cada procedimiento
sp_OA* para saber los detalles del problema. Mire los detalles y ejemplos
que hay en el artículo siguiente:

Cómo enviar mensajes de correo electrónico sin utilizar SQL Mail en SQL Server
http://support.microsoft.com/kb/312839

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"AlejandroArias" wrote:

Saludos tengo un servidor X este servidor tiene una pagina web que
utiliza asp y envia mail a traves de smtp de otro servidor Z. Esto
funciona bien (lo pruebo con http://localhost:8181/EnviarMail.asp)

Pero en el servidor X tambien tengo el motor de sql 2k y existe un SP
que hace uso del mismo servidor Z para enviar mail, el sp que tengo de
prueba es algo asi como:


DECLARE @hr int
DECLARE @hrEst int
DECLARE @object int
DECLARE @iStrm int

EXEC @hr = sp_OACreate 'CDO.Message', @object OUT
EXEC @hr = sp_OASetProperty @object, 'from',
''
EXEC @hr = sp_OASetProperty @object, 'to', ';'
EXEC @hr = sp_OASetProperty @object, 'subject', 'prueba'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://
schemas.microsoft.com/cdo/configuration/sendusing").Value','2'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://
schemas.microsoft.com/cdo/configuration/
smtpserver").Value','192.168.7.5'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://
schemas.microsoft.com/cdo/configuration/smtpserverport").Value','25'
EXEC @hr = sp_OAMethod @object, 'BodyPart.GetDecodedContentStream',
@iStrm out
EXEC @hr = sp_OAMethod @iStrm, 'WriteText', Null, 'Esta es una
prueba!'
EXEC @hr = sp_OAMethod @iStrm, 'WriteText', Null
EXEC @hr = sp_OAMethod @iStrm, 'Flush'
EXEC @hr = sp_OAMethod @object, 'Send'
EXEC @hr = sp_OADestroy @object

sin embargo el sp no envia ningun mail, que puedo revisar? teniendo en
cuenta que el servidor X si puede enviar mail a través del servidor Z
desde la web ?
(http://localhost:8181/EnviarMail.asp)

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida