Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo1

[Resolvido] Newsletter!

Recommended Posts

Ae galera...

To com um programinha bala de envio de news!

Eu mesmo fiz tudo(Se quiserem podem pegar)

 

O ultimo ajuste é:

 

Como faço para avisar no fim q acabaram os registros?

 

Ele chega no fim, envia todos mais fica atualizando com o response.addheadder

 

Vou post meu cód aqui!

<%'------------------------------------------------------------------------------------
If Session("body") = "" Then
vInclude = Request.Form("body")
Server.Execute("../body/"&vInclude&"")
End If
'----------------------------------------------------------
'Response.Buffer = False
Server.ScriptTimeout = 999999
'-------------------------DIM e Requests----------------
DIM vGrupo, RsBody, vAssunto, RsListar, RsGrupos
If Session("Grupo") = "" Then
Session("Grupo") = Request.Form("grupo")
Session("Assunto") = Request.Form("assunto")
End If
'-------------------Abre a conexao com o banco de dados----------------------- 
Session.LCID = 1046
'On Error Resume Next
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("DRIVER={MySQL ODBC 3.51 Driver}; SERVER=xxx.locaweb.com.br; DATABASE=xxx; User=xxx; PASSWORD=xxx; OPTION=3" )
'-----------------------Record Set--------------------------------------------
'Set RsBody = Server.CreateObject("ADODB.RecordSet")
'vSqlBody = "SELECT * FROM `listamails` WHERE html ='"&Session("Body")&"'"
'RsBody.Open vSqlBody, oConn
'--------------------Faz a listagem dos usuarios para pegar o nome--------------------
Set RsListar = Server.CreateObject("ADODB.Recordset")
vSql = "SELECT * FROM `listamails` WHERE id_cat ="&Session("Grupo")&" AND truefalse=0 LIMIT 10"
RsListar.Open vSql, oConn
'------------------------------------While--------------
While Not RsListar.EOF
'---------------------Pega o nome e o email do usuario----------------------------
Set RsNome = Server.CreateObject("ADODB.Recordset")
vSql = "Select * From listamails where id_mail="&RsListar("id_mail")&""
RsNome.Open vSql, oConn
'---------------------------------CDONTS--------------
	   ' Set objCDOSYSMail = Server.CreateObject("CDO.Message")
While Not RsNome.EOF
Response.Write(RsNome("email")&"<br />")
		
		'########################################CDOSYS##############################
##############
		
'Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")
'objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
'objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= 587 '25
'objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
'objCDOSYSCon.Fields.update
'''''''''''''''''''''Atualiza a configuração do CDOSYS para o envio do e-mail
'Set objCDOSYSMail.Configuration = objCDOSYSCon
'objCDOSYSMail.From = "from"
'objCDOSYSMail.To = RsNome("email")
'objCDOSYSMail.Subject = vAssunto
'objCDOSYSMail.HtmlBody = Session("Body")
'objCDOSYSMail.Send 
'########################################END CDOSYS############################################
		

vSqlUpdate = "UPDATE `listamails` SET `truefalse` = 1 WHERE id_mail="&RsListar("id_mail")&""
oConn.Execute(vSqlUpdate)
RsNome.MoveNext
Wend

RsListar.MoveNext
Wend
response.AddHeader "Refresh",1
'Response.End()
'-----------------Exibe a mensagem de que os emails foram enviados com sucesso-------------
Set Mailer = Nothing 

'Response.Redirect("index.asp?&assunto="&vAssunto&"&msg=Os eMails foram enviados com sucesso.")
%>
<script type="text/javascript">
	window.alert("Emails Enviados")
</script>
Eu desabilitei o envio e dexei response.Write para debugar antes...por iso tá comentado o componente inteiro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça um If Not RsListar.EOF then antes desse While Not RsListar.EOF

 

Se o IF for verdadeiro é porque acabou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só exemplificando oq o nosso amigo HArgon disse:

 

If NOT RSListar.EOF Then
' envie os e-mails
Else
Response.Write("Acabou-se o que era doce!")
End if

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.