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"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Envio E-mail</title>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr></tr>
<tr>
<td> </td>
</tr>
<tr></tr>
<tr>
<td>
<%
'Aqui vamos abrir a conexão para resgatar valores do banco de dados
strCon = "DBQ=c:\inetpub\wwwroot\seu_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
%>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr></tr>
<tr>
<td> </td>
</tr>
<tr></tr>
<tr>
<td>
<%
'Aqui faremos o action apontando para a página de envio.
%>
<form action="set.asp" method="post" name="form" id="form">
<input name="Submit" type="submit" class="style3" value="Enviar">
<br>
<br />
<table width="100%" border="0" cellpadding="2" cellspacing="1" bgcolor="#E8E8E8">
<tr>
<td width="20" height="20" align="center" bgcolor="#FFA74F" >></td>
<td width="50%" height="20" bgcolor="#FFA74F">Nome</td>
<td width="50%" height="20" bgcolor="#FFA74F">E-mail</td>
</tr>
<%
'Aqui faremos a alternação das linhas da tabela, lembrando que não devemos colocar <tr> fora da linha ASP.
objRS.MoveFirst
While Not objRS.EOF
if cor ="#FFFFFF" then
cor = "#CCCCCC"
else
cor ="#FFFFFF"
end if
response.Write "<tr bgcolor="& cor &">"
%>
<td width="20" height="10" align="center"><%
'Passamos valor do e-mail para checkbox que separa valores escolhidos por ",".
%>
<input type="checkbox" name="box" value="<%= objRS("email")%>"/></td>
<%
'Listaremos nome no recordset.
%>
<td width="50%" height="10" class="style1" ><%=objRS("nome")%></td>
<%
'Listaremos e-mail no recordset.
%>
<td width="50%" height="10" class="style1"><%=objRS("email")%></td>
</tr>
<%
objRS.MoveNext
Wend
Else
%>
Não existe nomes a serem listados
<%
End If
%>
</table>
</form></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<%
objRS.close
%>
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 & "<html xmlns=""http://www.w3.org/1999/xhtml"">"
sHTML = sHTML & "<head>"
sHTML = sHTML & "<title>Envio e-mail</title>"
sHTML = sHTML & "</head>"
sHTML = sHTML & "<body leftmargin=""0"" topmargin=""0"" rightmargin=""0"" bottommargin=""0"" bgcolor=""#FCEFC3"">"
sHTML = sHTML & "Olá você usou o sistema de disparo de e-mail em massa!"
sHTML = sHTML & "</body>"
sHTML = sHTML & "</html>"
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
response.Write("<font face='verdana' size='1'>E-mail enviado com sucesso!</font>")
%> 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