Envio de News Letter em massa, preciso corrigir
Pessoal estou eu novamente recorrendo ao forum.. hehe
Peguei um codigo na net.
Quero enviar minha news letter para o pessoal cadastrado no site, o formulario nao da nenhum erro, mas tbm ninguem recebe os emails, quem pode me ajudar???
Tenho dois formularios
default.asp
<%
Option Explicit
'Definindo as variáveis de conexão
Dim localbd, bd, grupos
'Indicando Driver, local e fazendo a conexao com o banco de dados
'Definindo também o Recordset que selecionará os grupos
localbd = "Driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("bancodados/emails.mdb")
set bd=Server.CreateObject("ADODB.Connection")
set grupos=Server.CreateObject("ADODB.Recordset")
'Abrindo conexao
bd.Open localbd
'Selecionando todos os grupos
grupos.Open "SELECT * from Grupos", bd
%>
<html>
<head>
<title>News Letter</title>
</head>
<body>
<form name="form1" method="post" action="enviado.asp">
<table border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="42">
<div align="right">Grupo:</div></td>
<td width="141">
<select name="grupo" id="grupo">
<%
'Criando um While para mostrar todos os grupos selecionados
while NOT grupos.EOF
%>
<option value="<%=grupos.fields("cod_grupo") %>"><% =grupos.fields("grupo") %></option>
<%
grupos.movenext
wend
%>
</select></td>
</tr>
<tr>
<td colspan="2"><div align="center">E-mail:</div></td>
</tr>
<tr>
<td colspan="2"><textarea name="html" cols="40" rows="10" id="html"></textarea></td>
</tr>
<tr>
<td> </td>
<td> <div align="center">
<input type="submit" name="Submit" value="Enviar">
</div></td>
</tr>
</table>
</form>
</body>
</html>OUTRO FORMULARIO
enviado.asp
<%
Option Explicit
'Definindo as variáveis de conexão
Dim localbd, bd, objMail, rsEmail, grupoForm, htmlForm, msg
'A variável grupoform terá o valor que você selecionou na página anterior
'No caso, o código do grupo de e-mails
grupoForm=request.form("grupo")
'A variável htmlForm, terá o código HTML do e-mail a ser enviado
htmlForm=request.form("html")
'Indicando Driver, local e fazendo a conexao com o banco de dados
'Definindo o Recordset que selecionará somente os e-mails do grupo selecionado
localbd = "Driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("bancodados/emails.mdb")
set bd=Server.CreateObject("ADODB.Connection")
set rsEmail=Server.CreateObject("ADODB.Recordset")
'Abrindo conexao
bd.Open localbd
'Selecionando todos os grupos
rsEmail.Open "SELECT * from emails where grupo="&grupoForm&"", bd
'Muito bem, já fizemos as conexões e já selecionamos os e-mails desejados
'Para não enviar o E-mail para um grupo que já tenha cido enviado
'iremos criar um If para que isso não aconteça
'Se o status for igual a 1 ele não enviará e voltará
If rsEmail("status")=1 then
Response.Write "<script>location = 'default.asp';alert('Este e-mail já foi enviado para este grupo')</script>"
else
'Faremos um while para que ele envie para cada um dos e-mails selecionados
while NOT rsEmail.EOF
Set msg = CreateObject("CDO.Message")
msg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
msg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") ="mail.com.br"
msg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
msg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False 'Ativa/Desativa conexao SSL (True ou False)
msg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
msg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'Ativa autenticacao em texto plano (clear-text)
msg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") ="email@com.br"
msg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") ="senhadificil"
msg.Configuration.Fields.Update
Set msg = Nothing
'Setando 1 no status para que o e-mail não seja enviado novamente para este grupo
bd.EXECUTE " UPDATE emails SET status=1 "
rsEmail.movenext
wend
'Mostrando confirmação e voltando
Response.Write "<script>location = 'default.asp';alert('Seu E-mail foi enviado com sucesso.')</script>"
end if
%>
O problema que não da erro, mas tambem ninguem recebe, alguem sabe o que pode ser, ou tem alguma maneira em ASP de enviar o news letter?
Discussão (16)
Carregando comentários...