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

Enviar newsletter (htm,cdonts,access)

Estas en el tema de Enviar newsletter (htm,cdonts,access) en el foro de ASP Clásico en Foros del Web. Este código es para enviar un 'newletter' a un grupo de usuarios. 1.-)Revisa que el componente Cdonts este instalado 2.-)Abre un archivo htm que será ...
  #1 (permalink)  
Antiguo 18/02/2002, 15:12
 
Fecha de Ingreso: octubre-2000
Ubicación: Juarez, Chih.
Mensajes: 161
Antigüedad: 23 años, 8 meses
Puntos: 0
Enviar newsletter (htm,cdonts,access)

Este código es para enviar un 'newletter' a un grupo de usuarios.

1.-)Revisa que el componente Cdonts este instalado

2.-)Abre un archivo htm que será el 'newsletter' a enviar

3.-)Abre un 'recordset' con la lista de direcciones de correo agrupandolos por la letra inicial del mismo.

4.-)Envia el correo y actualiza el campo 'enviado' en la tabla de usuario para indicar que un correo ya fué enviado a ese usuario.

5.-)Presentará un sumario de correos enviados.

--------------------------------
<%
Function ComponenteInstalado(ProgId) 'Funcion para revisar la existencia de un componente x
Dim tmpObject
On Error Resume Next
Set tmpObject = Server.CreateObject(ProgId)
If Err.Number = 0 Then
ComponenteInstalado = True
Else
ComponenteInstalado = False
End If
Set tmpObject = Nothing
End Function
%>

<%
Function Enviar(email_address,Html_content) ' Funcion para enviar el 'newsletter'
set objEMail = Server.CreateObject("CDONTS.NewMail")
objEMail.To = email_address
objEMail.From = "newsletter@tu_sitio.com"
objEMail.subject = "Newsletter"
objEMail.body = Html_content
objEMail.BodyFormat = 0
objEMail.MailFormat = 0
objEMail.send
set objEMail = nothing
End Function
%>

<%
Function Editar_status(address) ' Funcion para editar status del campo 'enviado'
set Tabla = server.CreateObject("ADODB.Recordset")
Tabla.open "SELECT * from people where address like " & "'" & address & "%'" & " order by address",connVB,3,2
Do while not Tabla.Eof
Tabla("Enviado") = "Yes"
Tabla.Update
Tabla.Movenext
Loop
Tabla.Close
set Tabla = nothing
End Function
%>
  #2 (permalink)  
Antiguo 18/02/2002, 16:05
 
Fecha de Ingreso: octubre-2000
Ubicación: Juarez, Chih.
Mensajes: 161
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Enviar newsletter (htm,cdonts,access)

'Continuación...

<%
If ComponenteInstalado("CDONTS.NewMail") Then 'revisar que tengas instalado el Cdonts

Archivo_html_a_enviar = "Pagina.htm" 'el archivo htm a mandar en el 'nesletter'

set connVB = server.createobject("ADODB.Connection")
Users_database = "Usuarios.mdb"
connVB.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath(Users_database)

For x=65 to 90 ' De la A a la Z (solo para enviar los grupos)

set Table = server.CreateObject("ADODB.Recordset")

sql = "SELECT distinct * from people " ' direcciones únicas
sql = sql & " where address like " & "'" & chr(x) & "%'" ' la direccion empiece con...
sql = sql & " and Enviado='No' order by address" ' que aun no se le haya enviado el correo

Table.open sql,connVB,3,2

Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObje ct")
Dim objTextStream
File = server.MapPath(".") & "\" & Archivo_html_a_enviar
fsoForReading = 1
If objFSO.FileExists(File) then ' Revisar que exista el archivo htm a ser enviado

Html_content = ""
Set objTextStream = objFSO.OpenTextFile(File, fsoForReading)
Html_content = Html_content & objTextStream.ReadAll 'Abrir el archivo y obtener el contenido
'Response.Write "" & Html_content & "" ' activa esta linea si deseas ver como sera el correo enviado
objTextStream.Close
Set objTextStream = Nothing
Count = 0
Do while not Table.EOF
email_address = Table("address")
Enviar email_address,Html_content 'Enviar el correo
Editar_status email_address 'Actualizar el campo 'enviado' para esta cuenta de correo
Count = Count + 1
Table.MoveNext
Loop
  #3 (permalink)  
Antiguo 18/02/2002, 16:06
 
Fecha de Ingreso: octubre-2000
Ubicación: Juarez, Chih.
Mensajes: 161
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Enviar newsletter (htm,cdonts,access)

'Continuación...

If Count>0 then
Response.Write "<br><b><font color='green'>" & Count & "</b></font>"
Else
Response.Write "<br><font color='gray'>" & Count & "</font>"
End if
Response.Write " Correos han sido enviados a usuarios cuya dirección empieza con la letra...<b>" & Chr(x) & "</b>"
Else
Response.Write "The file : " & file & " was not found to be used, please check."

End If
Set objFSO = Nothing

Table.Close
set Table = nothing

Next ' go for the next letter

connVB.Close
set connVB = nothing

Response.Write "<br>Fin de envio de 'newsletters'"

Else ' Si no esta instalado el componente Cdonts

Response.Write "<br>No tienes instalado el componente Cdonts para poder enviar correos desde tu sitio."

End if
%>


---------------------
Tan libre como gratuito!!!
  #4 (permalink)  
Antiguo 19/02/2002, 04:23
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Enviar newsletter (htm,cdonts,access)

Gracias Victor,lo probrare

Sa :) ludos
  #5 (permalink)  
Antiguo 19/02/2002, 06:57
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 8 meses
Puntos: 2
Re: Enviar newsletter (htm,cdonts,access)

Esto si que es para hacer newsletters, lo hice yo para mi, mi trabajo, y ya de paso para todo el que quiera. :)

<a href='ir.asp?http://62.57.0.9/www/MultiEmiliosV1.zip' target='_blank'>http://62.57.0.9/www/MultiEmiliosV1.zip...</a>

<a href="http://www.micache.com/" target="_blank"><img src="http://200.69.194.251/micache/ilustraciones/firmaForos.jpg" width="343" height="64" border="0"></a>
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 22:20.