Ir para conteúdo

POWERED BY:

Arquivado

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

Dennis Ávila

formulario email combobox

Recommended Posts

Boa tarde galera do forum.

Estou aqui novamente para pedir a ajuda de vocês.

Estou com o seguinte problema:

Estou fazendo o site da empresa onde eu trabalho e tenho que fazer um formulario de contato para diferentes pessoas da empresa com envio de arquivo anexo.

Fiz o formulario porem agora preciso da ajuda de vocês para criar o script que enviara o email de acordo com a opção escolhida no combobox.

Segue abaixo o codigo do formulario.

<form action="contatoemailresposta.asp" method="post" enctype="multipart/form-data"  name="email" id="email" onsubmit="return checa_formulario(this)"> 
<table width="600" border="0" cellpadding="1" cellspacing="0" class="formulariocontato"> 
 <tr> 
   <td> </td> 
   <td></td> 
   <td><span class="formulariocontato"><font size="-5">Obs: campos com </font><font size="-5" color="#FF0000">(*)</font><font size="-5"> são obrigatorios!</font></span></td> 
 </tr> 
 <tr> 
   <td width="90"><span class="formulariocontato">Empresa:</span></td> 
   <td width="290"><span class="formulariocontato">
     <input name="nome" type="text" value="" />      
      </span></td> 
   <td width="220"> </td> 
 </tr> 
 <tr> 
   <td><span class="formulariocontato">Nome:</span></td> 
   <td><span class="formulariocontato">
     <input name="email" type="text" />
      </span></td> 
   <td> </td> 
 </tr> 
 <tr> 
   <td><span class="formulariocontato">E-mail:<br />
   </span></td> 
   <td><span class="formulariocontato">
     <label> 
       <input type="text" name="sala" id="sala" /> 
     </label>
   </span></td> 
   <td> </td> 
 </tr> 
 <tr> 
   <td><span class="formulariocontato">Telefone:</span></td> 
   <td><span class="formulariocontato">
     <label> 
       <input type="text" name="turno" id="turno" /> 
     </label>
   </span></td> 
   <td> </td> 
 </tr> 
 <tr> 
   <td><span class="formulariocontato">Cidade:</span></td> 
   <td><span class="formulariocontato">
     <label> 
       <input type="text" name="serie" id="serie" /> 
     </label>
   </span></td> 
   <td> </td> 
 </tr> 
 <tr> 
   <td><span class="formulariocontato">Para:</span></td> 
   <td><span class="formulariocontato">
     <label> 
       <select name="Contatos" size="1" id="Contatos"> 
         <option>-------Escolha------</option> 
         <option value="diretoria">Diretoria - Pedrão</option> 
         <option value="secretaria">Financeiro - Vandi</option> 
         <option value="prof. alba">Financeiro - Rodrigo</option> 
         <option value="prof. andreia">Vendas - André</option> 
         <option value="prof. andreia">Vendas - Dennis</option> 
         <option value="prof. eliane">Vendas - Fabio</option> 
         <option value="Prof. elizabete">Vendas - Jefferson</option> 
         <option value="prof. eunice">Vendas - Ricardo</option> 
         <option value="prof.gamariel">Geral</option> 

       </select> 
     </label>
   </span></td> 
   <td> </td> 
 </tr> 
 <tr> 
   <td><span class="formulariocontato">Cotação/Anexo:</span></td> 
   <td><span class="formulariocontato">
     <label> 
       <input type="file" name="anexo" id="anexo" /> 
     </label>
   </span></td> 
   <td> </td> 
 </tr> 
 <tr> 
   <td><span class="formulariocontato">Assunto:</span></td> 
   <td><span class="formulariocontato">
     <label> 
       <input type="text" name="assunto" id="assunto" /> 
     </label>
   </span></td> 
   <td> </td> 
 </tr> 
 <tr> 
   <td valign="top"><span class="formulariocontato">Mensagem:</span></td> 
   <td><span class="formulariocontato">
     <label> 
       <textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea> 
     </label>
   </span></td> 
   <td valign="top"> </td> 
 </tr> 
 <tr> 
   <td> </td> 
   <td align="right"><span class="formulariocontato">
     <label> 
       <input type="submit" name="Enviar" id="Enviar" value="enviar" /> 
     </label>
   </span></td> 
   <td> </td> 
 </tr> 
</table></form>

 

Resumindo: Eu preciso de um script que envie com o arquivo em anexo as informações preenchidas de acordo com a opção escolhida no combobox contatos.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara já pesquise na net e no forum não achei nada que funcione para meu caso mencionado acima. Achei varios scripts para envio de formulario em asp, porem nenhum com opção de multiplos emails.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplos, dependendo do que o user escolhe ele envia para as diferentes opções

 

<%
dim Mailer, tp

Set Mailer = Server.CreateObject("SMTPsvg.Mailer") 
Mailer.FromName = Request.Form("nome")
Mailer.FromAddress= Request.Form("email")
Mailer.RemoteHost = "smtp2.locaweb.com.br"
if Request.Form("setor") = "0" Then
	Mailer.AddRecipient "Fale Conosco - Sintchospir", " presidente@sintchospir.com.br"
Elseif Request.Form("setor") = "1" Then
	Mailer.AddRecipient "Fale Conosco - Sintchospir", " sintchospir@sintchospir.com.br"
Elseif Request.Form("setor") = "2" Then
	Mailer.AddRecipient "Fale Conosco - Sintchospir", "depcadastro@sintchospir.com.br"
End if
Mailer.ContentType = "text/html" ' formatação html 
Mailer.Subject = "Fale Conosco - Sintchospir"
Mailer.BodyText = "Enviado por: " & Request.Form("nome") & "<br>Telefône: " & Request.Form("textarea3") & "<br><br>" & Request.Form("textarea4") & "<br><br>Enviada Em: " & now  
If Mailer.SendMail Then 
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta dando o seguinte erro

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A03F6)

'End' esperado

/sitebg/resposta.asp, line 29

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% 
       dim Mailer, tp 

       Set Mailer = Server.CreateObject("SMTPsvg.Mailer")  
       Mailer.FromName = Request.Form("nome") 
       Mailer.FromAddress= Request.Form("email") 
       Mailer.RemoteHost = "smtp.bgmetalurgica.com.br" 
       if Request.Form("contatos") = "pedrao" Then 
               Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " pedrao@bgmetalurgica.com.br" 
       if Request.Form("contatos") = "vandi" Then 
               Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " vandi@bgmetalurgica.com.br" 
			        if Request.Form("contatos") = "rodrigo" Then 
               Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " rodrigo@bgmetalurgica.com.br" 
			        if Request.Form("contatos") = "andre" Then 
               Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " andre@bgmetalurgica.com.br" 
			        if Request.Form("contatos") = "vendas04" Then 
               Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " vendas04@bgmetalurgica.com.br" 
			        if Request.Form("contatos") = "vendas03" Then 
               Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " vendas03@bgmetalurgica.com.br" 
			        if Request.Form("contatos") = "vendas02" Then 
               Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " vendas02@bgmetalurgica.com.br" 
			        if Request.Form("contatos") = "vendas01" Then 
               Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " vendas01@bgmetalurgica.com.br" 
       End if 
       Mailer.ContentType = "text/html" ' formatação html  
       Mailer.Subject = "Contato Direto Site BG Metalurgica - MultiFiltros" 
       Mailer.BodyText = "Enviado por: " & Request.Form("nome") & "<br>Telefône: " & Request.Form("textarea3") & "<br><br>" & Request.Form("textarea4") & "<br><br>Enviada Em: " & now   
       If Mailer.SendMail Then  ------ linha 29
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desse jeito vai dar erro mesmo, você ta usando vários ifs e não está fechando.

Tente ao invés de:

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName = Request.Form("nome")
Mailer.FromAddress= Request.Form("email")
Mailer.RemoteHost = "smtp.bgmetalurgica.com.br"
if Request.Form("contatos") = "pedrao" Then
Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " pedrao@bgmetalurgica.com.br"
if Request.Form("contatos") = "vandi" Then
.
.
.

use assim:

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName = Request.Form("nome")
Mailer.FromAddress= Request.Form("email")
Mailer.RemoteHost = "smtp.bgmetalurgica.com.br"
if Request.Form("contatos") = "pedrao" Then
Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " pedrao@bgmetalurgica.com.br"
Elseif Request.Form("contatos") = "vandi" Then
Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " vandi@bgmetalurgica.com.br"
Elseif Request.Form("contatos") = "rodrigo" Then
Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " rodrigo@bgmetalurgica.com.br"
Elseif Request.Form("contatos") = "andre" Then
Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " andre@bgmetalurgica.com.br"
.
.
.
End if 

 

Nesse caso eu ainda prefiro utilizar Select Case :)

 

<%
Select Case Request.Form("contatos")
 Case "pedrao"
  Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " pedrao@bgmetalurgica.com.br"
 Case "vandi"
  Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " vandi@bgmetalurgica.com.br"
 .
 .
 .
 Case Else 'caso não seja nenhuma das opções'
 Mailer.AddRecipient "Contato Direto Site BG Metalurgica - MultiFiltros", " vandi@bgmetalurgica.com.br"
End Select
%>

 

Fica um código mais limpo e menor!

Eu ainda enchugaria mais ainda a resposta do CASE... Dê uma estudada em algumas funções do nosso querido ASP :joia:

 

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamo começar tudo de novo é o seguinte meu site esta hospedado no hostnet e ele só suporta envio por CDO.

o cara me passo um script aki de exemplo como eu faço a adaptação para ele buscar as informações do formulario que eu postei no começo do topico.

<%

' Texto html
msgHTML = "Escreva aqui o texto do seu e-mail"

' Definindo uma variavel auxiliar
sch = "http://schemas.microsoft.com/cdo/configuration/"

' Criando o objeto de configuração do CDO
Set cdoConfig = Server.CreateObject("CDO.Configuration")

' Definindo as configurações
cdoConfig.Fields.Item(sch & "sendusing") = 2
cdoConfig.Fields.Item(sch & "smtpauthenticate") = 1
cdoConfig.Fields.Item(sch & "smtpserver") = "smtp.dominio.com.br"
cdoConfig.Fields.Item(sch & "sendusername") = "usuario=dominio.com.br"
cdoConfig.Fields.Item(sch & "sendpassword") = "*****"
cdoConfig.fields.update

' Criando o objeto de msg do CDO
Set cdoMessage = Server.CreateObject("CDO.Message")

' Associando as configurações ao obj Mensagem
Set cdoMessage.Configuration = cdoConfig

' Definido variaveis da msg
cdoMessage.From = "usuario@dominio.com.br"
cdoMessage.To = "DESTINATARIO@DominioDestinatario.com"
cdoMessage.Subject = "TITULO DO E-MAIL"

' Utilize esta opção caso deseje definir o e-mail de resposta
' cdoMessage.ReplyTo = "EMailDeResposta@DominioDeResposta.com"

cdoMessage.HTMLBody = msgHTML
if msgHTML <> "" then
cdoMessage.AutoGenerateTextBody = false
cdoMessage.TextBody = msgHTML
end if

cdoMessage.Send
Set cdoMessage = Nothing
Set cdoConfig = Nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize uma das opções te mostrada IF e ELSEIF ou Select Case, determine o valor para uma variável de acordo a opção, por exemplo:

Case "tonhao"
emailDestino = "tonhao@dominio.com.br"

 

Depois atribua essa variável à cdoMessage.To:

 

cdoMessage.To = emailDestino

 

 

Acredito que todas as informações necessárias para que você possa solucionar seu problema já foi postada, montar o código pra você já é outro caso.

 

 

 

Termino por aqui!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O envio de e-mail é o mesmo da pagina que processa dados de um formulario e os insere no banco de dados.

No começo desse código, você colocará os request.form que deseja utilizar, e nos campos como cdoMessage.To coloca o e-mail do destinatário que veio do formulário por exemplo, se for mais de um destinatário tem a opção CC, se quer enviar um anexo, usa a opção AttachFile não é muito dificil de fazer.

Alguns links pra ajudar:

http://imasters.com.br/artigo/686/asp/formulario_de_contatos_com_cdonts/

 

Esse aqui tem vários exemplos, mas está em ingles. (se preferir, cola no google o link e manda traduzir)

http://forums.digitalpoint.com/showthread.php?t=931859

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça como no exemplo do post #4

 

usando if , Elseif , End if

 

if Request.Form("setor") = "0" Then
               Mailer.AddRecipient "Fale Conosco - Sua E", " presidente@sintchospir.com.br"
       Elseif Request.Form("setor") = "1" Then
               Mailer.AddRecipient "Fale Conosco - Sintchospir", " sintchospir@sintchospir.com.br"
       Elseif Request.Form("setor") = "2" Then
               Mailer.AddRecipient "Fale Conosco - Sintchospir", "depcadastro@sintchospir.com.br"
       End if

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.