Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal! To com um problema num sistema de newsletter. Quando envio o email para os emails cadastrados, ele mostra que foi enviado o conteúdo mas quando vou acessar os emails pra verificar, n chega nada. O código abaixo possui uma linha chamada 'mail.Host = smtp' que quando excluo ela acontece o que foi relatado acima.... e quando deixo ela junto com o código, aí dá erro. E agora? A outra coisa, é que quero que me apresente a quantidade de usuários cadastrados.... no local marquii com "xxx" pois o rs que tinha tava dando erro.
Agradeço a ajuda.
<!--#include file="restrito.asp"--><!--#include file="conectar.asp"--><% Session.Timeout = 2 %><html><head><title>Boletim Informativo</title><LINK href="../comentarios/style.css" type=text/css rel=stylesheet><body><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="30" bgcolor="#F8F8EF"> <div class="notcham"> <div align="center">Administração do Boletim Informativo</div> </div></td> </tr></table><table width="48" height="20" border="0" align="right" cellpadding="0" cellspacing="0"> <tr> <td> <div class="branco"><strong><a href="comando.asp?method=abandon" class="texto">Logout</a></strong></div></td> </tr></table><table width="76" height="20" border="0" align="left" cellpadding="0" cellspacing="0"> <tr> <td width="8" bgcolor="#FFFFFF"> <div class="branco"></div></td> <td width="81"><div align="center"><strong><a href="admin.asp" class="texto"><font color="#FF6600">HOME</font></a></strong></div></td> <td width="5" bgcolor="#FFFFFF"> </td> </tr></table><font face="Verdana" size="2"> <% acao=Request.querystring("acao") select case acao case "enviar" %></font><br><br><form action="admin.asp?acao=enviando" method="post" class="form"> <font size="2" face="Verdana"> <input type="hidden" name="data" value="<%=Date()%>"> </font> <p align="center"><font size="2" face="Verdana"> <span class="texto">Assunto do Boletim:</span><br> <input name="assunto" type="text" class="form2" size="49"> <br> <span class="texto">Mensagem:</span><br> <textarea name="mensagem" cols="80" rows="15" class="form2"></textarea> <br><br> <input type="submit" class="form2" value=" Enviar Boletim "><br><br> </font> </form><font face="Verdana" size="2"><BR></font><span class="texto2"><strong>Obs: Todos os e-mails são enviados em formato HTML<BR>Para quebra de linha utilize a tag "<br>" </strong></span><font face="Verdana" size="2"> <hr size="1"><% case "enviando" %><% user = 0 assunto = Request.Form("assunto") mensagem = Request.form("mensagem") mensagem = mensagem & "<hr size=1>Para não receber mais o boletim informativo da Rádio AgitaBrasil <a href=http://www.radioagitabrasil.com/boletim/deletar_email.asp?email=>clique aqui:</a>" AbreConexao Sql = "SELECT email FROM boletim_dados"FechaConexao 'mensagem = mensagem & "<BR><BR><BR>Para não receber mais este e-mail <em><a href="& site & ">clique aqui</a></em>" AbreConexao Sql = "SELECT email FROM boletim_dados" If Len(mensagem) Then Set rs = Server.CreateObject("ADODB.Recordset") rs.Open Sql, ConStr, 3, 3 Response.Write "<br><br><br>" While Not rs.EOF Set mail = Server.CreateObject("CDONTS.NewMail") mail.From = email mail.Host = smtp mail.To = rs("email") mail.Subject = assunto mail.BodyFormat = 0 mail.Body = mensagem mail.Send Set mail = Nothing Response.Write "<span class=texto><strong>Email enviado para: " & rs("email") & "</strong></span><br>" user = user + 1 rs.MoveNext Wend Response.Write "<span class=texto2><strong>No total foram enviados " & user & " emails.</strong></span>" rs.Close Set rs = Nothing Sql = "INSERT INTO boletim_enviados (assunto,mensagem,data) " Sql = Sql & "VALUES('" & Request.Form("assunto") & "','" & mensagem & "','" & Request.Form("data") & "')" Conexao.Execute(Sql) Else Response.Redirect "admin.asp?acao=erro" End If FechaConexao %><% case "modificar" %><% AbreConexaoSql = "SELECT * From boletim_dados"Set rs = Conexao.Execute(Sql)while not rs.EOF%><br><br><table width="214" height="29" border="0" cellpadding="0" cellspacing="0"> <tr> <td> <input name="email" type="text" class="form2" value="<%=rs("email")%>" size="35"> </td> </tr></table></font><table width="174" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="105"><form method="POST" action="deletar.asp"> <input type="hidden" name="id" value="<%=rs("id")%>"> <input name="deletar" type="submit" class="form2" value="Deletar E-mail Casdastrado"> </form></td> </tr></table><font face="Verdana" size="2"> <hr size="1"><% rs.MoveNextwendFechaConexao %><% case "todas" %><% AbreConexaoSql = "SELECT * From boletim_enviados ORDER BY data DESC"Set rs = Conexao.Execute(Sql)%> <%if rs.EOF then%> <span class="texto"><br><br><br>Não há registros de E-mails enviados no sistema.</span> <%else%> <%do while NOT rs.EOF%><br><br><span class="texto"><strong>Assunto:</strong> <%=rs("assunto")%><BR></span></font><span class="texto"><strong>Enviada em:</strong></span><span class="texto"> <%=rs("data")%><BR></span></font><span class="texto"><strong>Mensagem:</strong></span><font face="Verdana" size="2"><span class="texto"><BR><%=rs("mensagem")%></span><BR><HR size="1"><table width="174" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="105"><form method="POST" action="deletar_msg.asp"> <input type="hidden" name="id" value="<%=rs("id")%>"> <input name="submit" type="submit" class="form2" value="Deletar"> </form></td> </tr></table><%rs.MoveNext%><%loop%><%end if%><% FechaConexao %><% case "erro" %></font><span class="notcham">Ocorreu um erro ao tentar efetuar a operação. Tente novamente.</span><font face="Verdana" size="2"><BR><hr size="1"><% case else %><% AbreConexaoSql = "SELECT * FROM boletim_dados"Set rs = Server.CreateObject("ADODB.Recordset") rs.Open Sql, ConStr, 3, 3 %><BR><BR><span class="texto">No total <strong>xxx</strong> pessoas cadastradas no Boletim Informativo.<BR><BR><BR><font color="#FF6600">•</font> </span></font><span class="texto"><a href="admin.asp?acao=modificar"><strong>Modificar / Alterar os dados dos cadastrados</strong></a></span><font face="Verdana" size="2"><span class="texto"><BR><font color="#FF6600">•</font> </span></font><span class="texto"><a href="admin.asp?acao=enviar"><strong>Enviar E-Mail</strong></a></span><font face="Verdana" size="2"><span class="texto"><BR><font color="#FF6600">•</font> </span></font><span class="texto"><a href="admin.asp?acao=todas"><strong>Todos os e-mails já enviados</strong></a> </span><font face="Verdana" size="2"> <HR size="1"><% rs.close FechaConexaoend select %></font> </body></html>O erro que ta dando é esse.---------------------------------------------------Microsoft VBScript runtime error '800a01b6' Object doesn't support this property or method: 'Host' /boletim/admin.asp, line 82 é justamente onde tem o tal mail.Host = smtp
nessa linha você deve colocar o nome do seu servidor smtp, tipo isso:mail.Host = "smtp.meudominio.com.br"mas verifique junto ao seu servidor o endereço correto pois varia em cada host
coloquei smtp.radioagitabrasil.com e aí deu o erro:
Microsoft VBScript runtime error '800a01a8'
Object required: ''
/boletim/admin.asp, line 82
--------------------------------------
Tive uma idéia aqui J. Tenho um tipo de newsletter aqui bem simples que só envia email em formato de texto e não em html (como eu quero). Se a gente puder fazer uma adaptação do CDONTS desse "fuleira" e jogar na bonitona lá em cima pode dar certo. Dá um sak ai pra você ver. O interessante é que essa "fuleira" não pede danado de smtp nem host... nem nada velho.
<% ' Declaring variables Dim rs, mail, subject, message, data_source, sql_select, no no = 0 subject = Request.Form("subject") message = Request.Form("message") ' Adding a link to all messages by which users can delete their emails ' if they want later mensagem = mensagem & vbcrlf & "<BR><BR><BR>Para não receber mais este e-mail <a href=http://www.radioagitabrasil.com/boletim2/del.asp?email=>clique aqui.</a>" message = message & vbcrlf & vbcrlf & "Para não receber mais esse email por favor clique aqui:" message = message & vbcrlf & "[http://www.radioagitabrasil.com/boletim2/del.asp?email="](http://www.radioagitabrasil.com/boletim2/del.asp?email=) sql_select = "select email from users" data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ Server.MapPath("mail.mdb") ' Check to see if you have not pressed the 'send' button mistakenly If Len(message) Then ' If you have written some message then lets send it ' You can use ASP Email component of your choice, here I will stick with CDO Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql_select, data_source While Not rs.EOF Set mail = Server.CreateObject("CDONTS.NewMail") mail.From = "adm@radioagitabrasil.com" mail.To = rs("email") mail.Subject = subject mail.BodyFormat = 0 mail.Body = message & rs("email") mail.Send Set mail = Nothing Response.Write "E-mail enviado para: " & rs("email") & "<br>" no = no + 1 rs.MoveNext Wend ' When messages have been sent to all the users, exit Response.Write "E-mails enviados para " & no & " users." rs.Close Set rs = Nothing ' Had you pressed the button mistakenly with text area empty, then ' redirect back to the HTML Form Else Response.Redirect "admin.htm" End If %>essa linha define se é html ou textomail.BodyFormat = 0sendo 0 para html e 1 para textovocê só trocaria o nome da variavel para montar seu corpo do email em htmlmas voltando ao codigo inicial, você colocou entre aspas o endereço smtp?mail.Host = "smtp.radioagitabrasil.com"
Bom antes tava sem as aspas..... mas aí com sua dica eu peguei e coloquei. Continua com o erro:Microsoft VBScript runtime error '800a01b6' Object doesn't support this property or method: 'Host' /boletim/admin.asp, line 82 --------------------------------------------------------N dá pra adaptar com o código que enviei por anexo n cara? Tipo, pegar a parte do cdonts do código de baixo e fazer uma mutação pra colocar na de cima?
xi camarada, foi mal...agora que vi que está usando cdonts..rsrsrsretire essa linha, é pra funcionar
Retirei o host e deu:erro: 424-Object required-------------------------------Se você tiver email cara, me passa q aí posso te mandar ele pra você ver como é a coisa. :)
você adicionou um email na variavel EMAIL?mail.From = emailexemplo:mail.From = "meuemail@servidor.com"Qaul a linha de erro para objeto requerido?
valeu cara pela dica.. Vi que faltava colocar isso também: mail.BodyFormat = 0 mail.MailFormat = 0 TEstei aqui e funcionou lindo...Problema solucionado. Obrigado mesmo!:)
coloque isso para ver o erro
on error resume nextmail.Sendif err.number<>0 thenresponse.write("erro: "&err.number&"-"&err.description)response.endend if