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)
 

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)

Preguntas similares