Ir para conteúdo

POWERED BY:

Arquivado

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

Vagner Nunes

[Resolvido] Envio de e-mail em Massa

Recommended Posts

Prezados,

 

Bom dia. Pra variar, necessito de ajuda....

 

Tenho um sisteminha aqui de envio de e-mail para vários alunos de um determinado curso, porém esta funcionando de uma forma diferente, fiz algumas modificações, daí ele não está funcionando de acordo, gostaria que alguém desse uma dica. Onde foi que eu errei?!

 

Segue código abaixo:

 

Página com o formulário:

 

com os seguintes campos - subject, message, um hiddenField chamado curso curso, está enviando no Método POST, com um parametro ?curso=

 

Quando clico em enviar, não aparece erro algum, só indica que foram enviados 0 e-mails, resumindo nenhum e-mail for enviado.

 

Página que recebe os dados do form:

 

Código:

<%
   ' 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
   message = message & vbcrlf & vbcrlf & "Caso não deseje receber novos e-mails do Núcleo de Estágio. Clique aqui para excluir seu cadastro:"
   message = message & vbcrlf & "http://www.site.com.br/caminho/nucleo_estagio_email_del.asp?email="
   sql_select = "select email from nestagio_cadastro where curso = '" & curso & "'"
   data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
                         Server.MapPath("../../Dados/banco.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 = "nucleodeestagio@site.com.br"
   mail.To = rs("email")
   mail.Subject = subject
   mail.Body = message & rs("email")
   mail.Send
   Set mail = Nothing
   Response.Write "Email enviado para: " & rs("email") & "<br>"
   no = no + 1
   rs.MoveNext
   Wend
   ' When messages have been sent to all the users, exit
   Response.Write "Emails enviado " & no & " Usuários."
   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 "index.asp"
   End If
%>

A página que faz a exclusão do e-mail quando o aluno não quer mais receber os avisos está deletando normalmente.

 

Aguardo contato,

 

Sds,

 

Vagner Nunes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não li o codigo, mas se você está usando um formulário, porque o ?curso= ?

coloca esse parametro num input type=hidden.

Usar o parametro ?curso= , serve quando se faz um request.querystring que pega valores passado vai url, tipo www.dominio.com.br?id=algumacoisa

usar isso em formulario não dá certo, para isso usamos o input type=hidden quando não queremos que o ususario visualize certos valores e recuperamos com request.form

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou utilizando um campo hidden também. Então eu tiro o parametro ?curso=!

 

E como posso fazer para meu SELECT procurar este hidden do formulário ('" & curso & "'")?

 

sql_select = "select email from nestagio_cadastro where curso = '" & curso & "'"

Sds,

 

Vagner Nunes

Compartilhar este post


Link para o post
Compartilhar em outros sites

existe um exemplo , também de envio de email em massa, no lab. de script, mas o seu dando ficou legal também, poderíamos disponibilizar o seu exemplo também...

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.