Mala direta e-mail com seleção por checkbox

Exemplo de envio de e-mail para usuários em base de dados utilizando o componente CDONTS podendo escolher os usuários através de checkbox.

Por | @oficinadanet Programação
Primeiro temos que ter um banco de dados para buscar as informações dos usuários, para isto crie um banco de dados com uma tabela com os seguintes campos:
nome | email

Abaixo o código da página para listar os dados dos usuários e montar o checkbox para escolha.
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>


Envio E-mail



  
  
    
  
  
  
    
  
 

<%
'Aqui vamos abrir a conexão para resgatar valores do banco de dados
strCon = "DBQ=c:inetpubwwwrootseu_banco_de_dados.mdb;Driver={Microsoft Access Driver (*.mdb)};"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation = 3
objRS.CursorType = 0
objRS.LockType = 1
strSQL = "SELECT * FROM SUA_TABELA"
objRS.Open strSQL, strCon
If not objRS.EOF then
%>
      
        
        
          
        
        
        
          
        
      
 

<%
'Aqui faremos o action apontando para a página de envio.
%>
            

              
              

              

              
                
                  
                  
                  
                
<%
'Aqui faremos a alternação das linhas da tabela, lembrando que não devemos colocar fora da linha ASP.  
objRS.MoveFirst
While Not objRS.EOF
if cor ="#FFFFFF" then
cor = "#CCCCCC"
else
cor ="#FFFFFF"
end if
response.Write ""
%>
                
<%
'Listaremos nome no recordset.
%>
                  
<%
'Listaremos e-mail no recordset.
%>
                  
                
<%
objRS.MoveNext
Wend
Else
%>
                Não existe nomes a serem listados
<%
End If
%>
              
>NomeE-mail
<%
'Passamos valor do e-mail para checkbox que separa valores escolhidos por ",".
%>
                    "/>
<%=objRS("nome")%><%=objRS("email")%>

            



<%
objRS.close
%>


O resultado da página acima:
Mala direta e-mail com seleção por checkbox

Agora basta criar a página onde será efetuado o disparo de e-mail em nosso caso set.asp segue o código:
<%
'Resgata valor checkbox separados por vírgula.
strP=request.form("box")

ArrP=split( strP , "," ) 'No caso coloquei virgula, pois o separador é este, caso seja outro basta mudara para o desejado.

'Faz o loop para enviar até que dispare todos os selecionados.
for i = 0 to UBound(ArrP)
Set objmail = Server.CreateObject("CDONTS.NewMail")

objMail.From = "seu_email@seu_provedor.com.br"
objMail.To = ArrP(i)
objMail.Cc = ""
objMail.Bcc = ""

objMail.Subject = objRS("titulo")
sHTML = sHTML & ""
sHTML = sHTML & ""
sHTML = sHTML & "Envio e-mail"
sHTML = sHTML & ""
sHTML = sHTML & ""
sHTML = sHTML & "Olá você usou o sistema de disparo de e-mail em massa!"
sHTML = sHTML & ""
sHTML = sHTML & ""

objMail.MailFormat = 0
objMail.BodyFormat = 0
objMail.body = sHTML

objMail.Send
sHTML = ""

On Error Resume Next
set objMail = Nothing

if Err <> 0 Then
Response.Write "Foi encontrado um erro (" & Err.Description & ")."
Response.End
End if

'Fim loop.
next
ObjRS.close

'Gera alerta de envio ao fim do código.
response.Write("E-mail enviado com sucesso!")
%>


Neste exemplo vimos como disparar e-mail's para usuários do banco de dados escolhindos através de um checkbox.

Espero que ajude no dia-dia.

Qualquer dúvida entre em contato comigo deixando um comentário.

Abraços!


Alexandre de Luccia

Mais sobre:
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo