Foros del Web » Programando para Internet » ASP Clásico »

aspemail, enviar varios campos de una DB en el Body del correo

Estas en el tema de aspemail, enviar varios campos de una DB en el Body del correo en el foro de ASP Clásico en Foros del Web. hola compis, estoy montando un envio por correo con páginas asp, para lo cual utilizo aspemail, recojo los campos que me interesan de una base ...
  #1 (permalink)  
Antiguo 21/05/2007, 09:43
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 19 años, 7 meses
Puntos: 0
aspemail, enviar varios campos de una DB en el Body del correo

hola compis,
estoy montando un envio por correo con páginas asp, para lo cual utilizo aspemail, recojo los campos que me interesan de una base de datos y los envio por correo utilizando el componente de servidor aspemail (que tiene instalado en el servidor mi proveedor Arsys).

Le asigno un campo de la DB a "subject" y otro campo a "body" y envia la info correctamente. El problema es que me gustaria asignarle varios campos a "body" y no se como hacerlo.

Se trata de un sistema de noticias y las noticias estan en diferentes idiomas, me gustaria poder asignarle a "body" el texto de la noticia en catalan y tambien el texto de la noticia en castellano, 2 campos diferentes en el body.

Se trata en definitiva de recoger 2 campos de una DB en un solo Recordset (no?)

Alguien sabe si es esto posible, y si es así como hacerlo, gracias

Última edición por potenkin; 21/05/2007 a las 10:09
  #2 (permalink)  
Antiguo 21/05/2007, 15:26
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: aspemail, enviar varios campos de una DB en el Body del correo

potekin

como agregas esos datos?, directamente con
RS().value,

o mediante variables?
var=RS("campo").value

aunque pudieras concatenar y despues agregar la variable concatenada al body

texto="noticia catalan"&RS("catalan").value
texto= texto & "<br/>" & "noticia castellano"&RS("castellano").value

solo es una idea.. espero la captes
suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 22/05/2007, 02:47
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: aspemail, enviar varios campos de una DB en el Body del correo

los agrego mediante variables:

Mail.Body = Request("Body")

Aunque despues de enviar la pregunta, se me ocurrió que quizás lo mejor seria convertir el Body en html, y dentro del html ya recoger los diferentes recordsets, y aprovechar para formatearlos.

sabes como se hace?

salut
  #4 (permalink)  
Antiguo 22/05/2007, 09:20
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Re: aspemail, enviar varios campos de una DB en el Body del correo

Cita:
Iniciado por Shiryu_Libra Ver Mensaje
...

texto="noticia catalan"&RS("catalan").value
texto= texto & "<br/>" & "noticia castellano"&RS("castellano").value
y asi vas costruyendo todo tu codigo html + recordset

una ves terminados

Mail.Body = texto

puedes ejecutar todo el codigo asp para crear el contenido html y ya en esa variable llamada texto la mandas por correo

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 22/05/2007, 10:31
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: aspemail, enviar varios campos de una DB en el Body del correo

pues no me acaba de funcionar.

tengo el siguiente html:
<table width="10%" border="0" cellspacing="0" cellpadding="0">
<tr><td><p><%=(Recordset1.Fields.Item("titcat").Va lue)%></span><br />
<%=(Recordset1.Fields.Item("textcat").Value)%></p>
<p>&nbsp;</p>
<p><%=(Recordset1.Fields.Item("titesp").Value)%><b r />
<%=(Recordset1.Fields.Item("textesp").Value)%></p></td>
</tr>
</table>

contiene 4 recordsets,

como recojo esto en el campo Mail.Body?
  #6 (permalink)  
Antiguo 22/05/2007, 11:17
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Re: aspemail, enviar varios campos de una DB en el Body del correo

texto = "<table width='10%' border='0' cellspacing='0' cellpadding='0'>"
texto = texto & "<tr><td><p>" & Recordset1.Fields.Item('titcat').Value) & "</span><br />"

y asi sucesivamente

cambia las comillas dobles pro comillas simples en tu codigo HTML


y luego

Mail.Body = texto

en tu codigo de envio de correo

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #7 (permalink)  
Antiguo 23/05/2007, 02:03
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: aspemail, enviar varios campos de una DB en el Body del correo

no me funciona, te pongo el codigo a ver si me indicas donde esta el fallo, veras que recoge varios parametros diferentes de objetos de formulario. No sé como se pone correctamente el texto = "... Va dentro del html general supongo...la página se llama "enviar_noticia2.asp"

---------------------------------


<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
' change to address of your own SMTP server
strHost = "smtp.dominio.com"

If Request("Send") <> "" Then
Set Mail = Server.CreateObject("Persits.MailSender")
' enter valid SMTP host
Mail.Host = strHost
Mail.Port = 25
Mail.Username = "usuario"
Mail.Password = "contrasenya"

Mail.From = Request("From") ' From address
Mail.FromName = Request("FromName") ' optional
Mail.AddBcc Request("To")
Mail.AddAttachment Request("Imatge")

' message subject
Mail.Subject = Request("Subject")
' message body
Mail.Body = texto
strErr = ""
bSuccess = False
On Error Resume Next ' catch errors
Mail.Send ' send message
If Err <> 0 Then ' error occurred
strErr = Err.Description
else
bSuccess = True
End If
End If
%>


<head>
<title>Prueba aspmail</title>
</head>

<BODY bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="600" border="0" cellspacing="0" cellpadding="2">

<tr>
<td>&nbsp;</td>
<td><FORM METHOD="POST" ACTION="enviar_noticia2.asp">
<table width="100%" cellpadding="2" cellspacing="0" bgcolor="#E0E0E0">
<tr>
<td width="30%">Servidor de correo:</td>
<td width="70%"><b>
<% = strHost %>
</b></td>
</tr>
<tr>
<td>De (correu del remitent):</td>
<td><input name="From" type="text" value="[email protected]" size="35" /></td>
</tr>
<tr>
<td>De (nom del remitent):</td>
<td><input name="FromName" type="text" value="Envio correo" size="35" /></td>
</tr>
<tr>
<td><input name="Subject" type="text" value="<%=(Recordset1.Fields.Item("titcat").Value) %>" size="35" /></td>
</tr>
<tr>
<td valign="top">Text noticia catal&agrave;:</td>
<td>texto = "<table width='100%' border='0' cellspacing='0' cellpadding='0'>"
texto = texto & "<tr><td><p>" & Recordset1.Fields.Item('titcat').Value) & "</span><br /></td></tr></table>"
</td>
</tr>
<tr>
<td>Foto:</td>
<td><input name="Imatge" type="text" id="imatge" value="d:\xvrt\dominio.com\html\fotos\<%=(Recordse t1.Fields.Item("foto").Value)%>" size="35" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Send" value="Enviar Noticia" /></td>
</tr>
</table>
</FORM></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><% If strErr <> "" Then %>
<span class="alerta">Error al enviar la Noticia:</span>
<% = strErr %>
<% End If %>
<% If bSuccess Then %>
<span class="enviook">OK! Noticia enviada correctament a</span>:
<% = Request("To") %>
<% End If %></td>
</tr>
</table>
</BODY>
</HTML>

Última edición por potenkin; 01/06/2007 a las 01:50
  #8 (permalink)  
Antiguo 24/05/2007, 06:02
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: aspemail, enviar varios campos de una DB en el Body del correo

al final lo solucioné myself

salut

Última edición por potenkin; 01/06/2007 a las 01:51
  #9 (permalink)  
Antiguo 24/05/2007, 10:55
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Re: aspemail, enviar varios campos de una DB en el Body del correo

oki me alegra no estaba en la oficina
__________________
JuanRa Pérez
San Salvador, El Salvador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:45.