Ir para conteúdo
Fórum Script Brasil
  • 0

Enviar e-mails para um determinado grupo


Vagner Nunes

Pergunta

Prezados,

Bom dia.

Gostaria da ajuda dos senhores mais uma vez, tenho um sistema de envio de e-mail de e-mails cadastrados no banco, está funcionando ok, porém gostaria d criar um filtro do tipo só enviar e-mail para alunos do curso de letras, por exemplo.

Nome dos campos: curso | email.

Segue abaixo o código que envia para todos os e-mails do banco.

<%
   ' 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 do Cesat. Clique aqui para excluir seu cadastro:" 
   message = message & vbcrlf & "http://www.cesat.br/nucleo/administracao/enviar_emails_del.asp?email="
   sql_select = "select email from cadastro"
   data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ 
                         Server.MapPath("../bd/nucleo.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@cesat.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 "enviar_emails.asp"
   End If
 %>

Sds,

Vagner Nunes

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Aki nessa parte você manda enviar email para todos do banco ..

sql_select = "select email from cadastro"
você deveria ter assim
sql_select = "select email from cadastro WHERE campo = 'NOME DO GRUPO' "
Ficaria mais ou menos assim ::
<form action="POST">
<table>
   <tr>
      <td>Grupo:</td>
      <td><select name="grupo">
       <option value="Nome Grupo">Nome Grupo</option>     
       </td>
   </tr>
   <tr>
   </tr>
</table>
</form>

<%
   ' 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 do Cesat. Clique aqui para excluir seu cadastro:"
   message = message & vbcrlf & "http://www.cesat.br/nucleo/administracao/enviar_emails_del.asp?email="
   sql_select = "select email from cadastro WHERE campo = '"&request.form("grupo")&"' "
   data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
                         Server.MapPath("../bd/nucleo.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@cesat.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 "enviar_emails.asp"
   End If
%>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...