xp_smtp

11/04/2006 - 10:33 por Jesus Suarez | Informe spam
Hola A todos,

Tengo un problema, necesito enviar un boletin HTML que se genera en la BBDD
automaticamente, lo envio usando sp_smtp, pero el texto del mensaje tiene la
limiatacion de 8000 caracteres,

como puedo resolverlo. un saludo

Preguntas similare

Leer las respuestas

#11 Perico
12/04/2006 - 10:43 | Informe spam
Veamos:

Te explico mas despacio lo que yo tengo, tengo una tabla donde
almaceno los destinatarios, el asunto y el texto del mensaje que quiero
mandar.

Tengo por otro lado una pagina HTML con el formato que quiero
enviar a los destinatarios, y en aquellos lugares donde el dato es
personalizado he puesto un tag <insertdatahere> tambien puedes ponerlo
con begindetail y enddatail, en la ayuda del procedimento
sp_makewebtask de sql2000 tienes la forma de hacerlo.

Ahora tengo un procedimiento mio que lee la tabla y genera los
distintos (o iguales) HTML para enviarselos en un correo.

Ejemplo:
Declare @Select ntext
Declare Destinatarios cursor for Select 'Destinatario', 'Asunto',
'Texto' from tabla_origen

' Abres cursor
Set @Select = (Select @Destinatario, @Asunto, @Texto)

exec @iRet = sp_makewebtask
@outputfile = @MailFileHTML,
@query = @Select,
@templatefile = @MailTemplate,
@whentype = 1, @tabborder = 1, @fixedfont = 0

En la variable @outputfile es el nombre del fichero HTML que te va a
generar,
En la variable @MailTemplate es el nombre de la plantilla que
utilizará para generar el HTML, es una copia, pero sustituye en los
tag insertdatahere por los valores de la @Select
Las demas opciones no me acuerdo mucho pero en la ayuda lo tienes
claro.


Y ahora mandar el correo con xp_smtp de la siguiente forma

************************************************************************
************************************************************************
declare @rc int

exec @rc = master.dbo.xp_smtp_sendmail

@FROM = N'',
@FROM_NAME = N'Joe Mailman',

@TO = N'',

@subject = N'ASCII HTML messagefile',

@type = N'text/html',
@messagefile = @MailFileHTML
select RC = @rc

go

Y ya está: Mensaje enviado con campo ntext sin problema.







Jesus Suarez wrote:
Hola no te he entendido muy bien el mecanismo,

tu tienes un campo de tipo TEXT, pero si lo tratas con el analyzer no puedes
crar variables de tipo TEXT, con lo cual no se puede volcar el contenido de
dicho campo a una variable para despues configurar el message del objeto
xp_smtp.

igual tu campo aunqeu sea de tipo varchar no supera los 8000 caracteres con
lo cual no tienes problemas.

Un saludo y a ver como podria hacer, si tienes un breve ejemeplo de como
volcar el contendio de un text en el campo message.
"Perico" escribió en el mensaje
news:
> Buenas Jesus, yo lo que tengo es una tabla con campo Text y luego
> mediante el procedimiento sp_makewebtask hago la select del campo de la
> base de datos y en la plantilla sustituye el campo text en lugar de un
> nvarchar o un varchar, en el tag &insertdatahere& y me funciona sin
> problemas enviandolo por correo y todo.
>
> Ahora que en la plantilla pongo lo que es comun, y en la tabla guardo
> los datos variables.
>
>
>
> Un saludo.
>
Respuesta Responder a este mensaje
#12 Jesus Suarez
17/04/2006 - 12:36 | Informe spam
Hola

Muchas gracias por la ayuda con los mails, me funciona perfectamente.

Una ultima duda, como podira hacer porque la "ñ" y las tildes me aparecen
con simbolos extraños como podia modificar esto.

Un saludo y de nuevo muchas gracias

Mi direccion es:

"Perico" escribió en el mensaje
news:
Veamos:

Te explico mas despacio lo que yo tengo, tengo una tabla donde
almaceno los destinatarios, el asunto y el texto del mensaje que quiero
mandar.

Tengo por otro lado una pagina HTML con el formato que quiero
enviar a los destinatarios, y en aquellos lugares donde el dato es
personalizado he puesto un tag <insertdatahere> tambien puedes ponerlo
con begindetail y enddatail, en la ayuda del procedimento
sp_makewebtask de sql2000 tienes la forma de hacerlo.

Ahora tengo un procedimiento mio que lee la tabla y genera los
distintos (o iguales) HTML para enviarselos en un correo.

Ejemplo:
Declare @Select ntext
Declare Destinatarios cursor for Select 'Destinatario', 'Asunto',
'Texto' from tabla_origen

' Abres cursor
Set @Select = (Select @Destinatario, @Asunto, @Texto)

exec @iRet = sp_makewebtask
@outputfile = @MailFileHTML,
@query = @Select,
@templatefile = @MailTemplate,
@whentype = 1, @tabborder = 1, @fixedfont = 0

En la variable @outputfile es el nombre del fichero HTML que te va a
generar,
En la variable @MailTemplate es el nombre de la plantilla que
utilizará para generar el HTML, es una copia, pero sustituye en los
tag insertdatahere por los valores de la @Select
Las demas opciones no me acuerdo mucho pero en la ayuda lo tienes
claro.


Y ahora mandar el correo con xp_smtp de la siguiente forma

************************************************************************
************************************************************************
declare @rc int

exec @rc = master.dbo.xp_smtp_sendmail

@FROM = N'',
@FROM_NAME = N'Joe Mailman',

@TO = N'',

@subject = N'ASCII HTML messagefile',

@type = N'text/html',
@messagefile = @MailFileHTML
select RC = @rc

go

Y ya está: Mensaje enviado con campo ntext sin problema.







Jesus Suarez wrote:
Hola no te he entendido muy bien el mecanismo,

tu tienes un campo de tipo TEXT, pero si lo tratas con el analyzer no
puedes
crar variables de tipo TEXT, con lo cual no se puede volcar el contenido
de
dicho campo a una variable para despues configurar el message del objeto
xp_smtp.

igual tu campo aunqeu sea de tipo varchar no supera los 8000 caracteres
con
lo cual no tienes problemas.

Un saludo y a ver como podria hacer, si tienes un breve ejemeplo de como
volcar el contendio de un text en el campo message.
"Perico" escribió en el mensaje
news:
> Buenas Jesus, yo lo que tengo es una tabla con campo Text y luego
> mediante el procedimiento sp_makewebtask hago la select del campo de la
> base de datos y en la plantilla sustituye el campo text en lugar de un
> nvarchar o un varchar, en el tag &insertdatahere& y me funciona sin
> problemas enviandolo por correo y todo.
>
> Ahora que en la plantilla pongo lo que es comun, y en la tabla guardo
> los datos variables.
>
>
>
> Un saludo.
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida