Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Tenho um form com alguns dados que vao para um email quando o visitante clica no botão Enviar. O remetente deveria ser o email que ele digita no formulário. Mas nao vai... só funciona se eu digitar diretamente o remetente no codigo do envia.asp
Alguém pode me informar onde está o erro?
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!-- #include file="config/conexao.asp"-->
<%
nome=request.form("nome")
strmail=Request.Form("email")
endereco=request.form("endereco")
complemento=request.form("complemento")
bairro=request.form("bairro")
cidade=request.form("cidade")
uf=request.form("uf")
cep=request.form("cep")
pais=request.form("pais")
telefone=request.form("telefone")
sexo=request.form("sexo")
nascimento=request.form("nascimento")
escolaridade=request.form("escolaridade")
profissao=request.form("profissao")
corcabelo=request.form("corcabelo")
tipocabelo=request.form("tipocabelo")
quimica=request.form("quimica")
tipoquimica=request.form("tipoquimica")
solicitacao=request.form("solicitacao")
texto=request.form("texto")
assina=request.form("assina")
if nome = "" then
response.redirect("atendimento_cliente.asp?status=requerido")
elseif strmail = "" then
response.redirect("atendimento_cliente.asp?status=requerido")
elseif cidade = "" then
response.redirect("atendimento_cliente.asp?status=requerido")
elseif cep = "" then
response.redirect("atendimento_cliente.asp?status=requerido")
elseif telefone = "" then
response.redirect("atendimento_cliente.asp?status=requerido")
else
' 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.mail.yahoo.com.br"
cdoConfig.Fields.Item(sch & "sendusername") = "xxxxxxxxxxxx@yahoo.com.br"
cdoConfig.Fields.Item(sch & "sendpassword") = "xxxxxxxxxx"
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 = strmail '<-- assim não funciona. Só funciona se eu colocar o remetente diretamente como no Destinatario...
cdoMessage.To = "meu_email@yahoo.com.br"
cdoMessage.Subject = "Contato via site - "&solicitacao
cdoMessage.HTMLBody = texto
if texto <> "" then
cdoMessage.AutoGenerateTextBody = false
cdoMessage.TextBody = texto
end if
cdoMessage.Send
Set cdoMessage = Nothing
Set cdoConfig = Nothing
call abre_conectar
strQuery = "INSERT INTO newsletter (nome,email,endereco,complemento,bairro,cidade,uf,cep,pais,telefone, sexo, nascimento,escolaridade,profissao,corcabelo,tipocabelo,quimica,tipoquimica,assina) VALUES ('"&nome&"','"&strmail&"','"&endereco&"','"&complemento&"','"&bairro&"','"&cidade&"','"&uf&"','"&cep&"','"&pais&"','"&telefone&"','"&sexo&"','"&nascimento&"','"&escolaridade&"','"&profissao&"','"&corcabelo&"','"&tipocabelo&"','"&quimica&"','"&tipoqumica&"','"&assina&"')"
Set ObjRs = cnn.Execute(strQuery)
call fecha_conectar
Set objRs = Nothing
end if
if err = 0 Then
'Redireciona o usuário caso não tenha ocorrido erro na transação
response.redirect("atendimento_cliente.asp?status=ok")
end if
%>
Já dei um response.write na variavel strmail e está vindo corretamente...
>
De um response.write no Request.Form("email") e veja se esta passando direitinho comfirma se o email é o parametro name do imput no form de envio.
<_< De novo? <_<
Como disse lá em cima vem o valor do email digitado... se o name do imput estivesse errado nem viria tambem... <_<
Ok, tente diretamente assim
cdoMessage.From = Request.Form("email")
>
Ok, tente diretamente assim
cdoMessage.From = Request.Form("email")
Já havia feito isso, colega. Era o mais lógico a se fazer...
error '8004020e'
Linha do erro: cdoMessage.Send
Posta o código do Formulário.
Lembrando que você nunca deve requisitar o parametro diretamente no linha de envio. O ideal é tratá-lo antes.
>
Posta o código do Formulário.
Lembrando que você nunca deve requisitar o parametro diretamente no linha de envio. O ideal é tratá-lo antes.
<form action="cadastrar.asp" method="post"><td height="363" valign="top"><div class="scroll">
<table width="350" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="333"><table width="333" border="0" cellspacing="0" cellpadding="0" class="tahoma_11_preto">
<tr>
<td><%if request.QueryString("status")="requerido" then%>
<font color="red"><strong><p>Todos os campos marcados com * são obrigatórios.</p></strong></font>
<%elseif request.QueryString("status")="ok" then%>
<font color="red"><strong><p>Mensagem enviada com sucesso!</p></strong></font>
<%else%>
<%end if%>
<p>Prezado (a) Consumidor (a),</p>
<p>É um prazer contar com sua visita em nosso site! Nos colocamos à disposição para escutarmos suas sugestões, esclarecermos suas dúvidas, enfim, satisfazê-lo(a) da melhor maneira possível.</p> </td>
</tr>
<tr>
<td height="40"><img src="img/titulo_atendimento_cliente_tel_sac.gif" width="232" height="40"></td>
</tr>
<tr>
<td><p>Ou, ainda, preencher o formulário abaixo com seus dados e nos enviar sua mensagem.</p></td>
</tr>
<tr>
<td height="25" bgcolor="#eee0e4"><img src="img/titulo_atendimento_cliente_dados_pessoais.gif" width="118" height="25"></td>
</tr>
<tr>
<td class="padding_formulario"><table width="333" border="0" cellspacing="0" cellpadding="0" class="tahoma_11_preto">
<tr>
<td width="87" align="right" class="padding_bottom_3">* Nome:</td>
<td width="246" class="padding_bottom_3"><input type="text" name="nome" class="input_238"></td>
</tr>
<tr>
<td align="right" class="padding_bottom_3">* E-mail:</td>
<td class="padding_bottom_3"><input type="text" name="email" class="input_238"></td>
</tr>
<tr>
<td align="right">Endereço:</td>
<td class="padding_bottom_3"><input type="text" name="endereco" class="input_238"></td>
</tr>
<tr>
<td align="right">Complemento:</td>
<td class="padding_bottom_3"><input type="text" name="complemento" class="input_167"></td>
</tr>
<tr>
<td align="right">Bairro:</td>
<td class="padding_bottom_3"><input type="text" name="bairro" class="input_167"></td>
</tr>
<tr>
<td align="right">* Cidade/UF:</td>
<td class="padding_bottom_3"><table width="246" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="175"><input type="text" name="cidade" class="input_167"></td>
<td width="13" align="center" class="tahoma_11_preto">/</td>
<td width="58"><select name="uf" class="select_58">
<option value="" selected="selected"></option> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AM">AM</option> <option value="AP">AP</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="DF">DF</option> <option value="ES">ES</option> <option value="GO">GO</option> <option value="MA">MA</option> <option value="MG">MG</option> <option value="MS">MS</option> <option value="MT">MT</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="PR">PR</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RO">RO</option> <option value="RR">RR</option> <option value="RS">RS</option> <option value="SC">SC</option> <option value="SE">SE</option> <option value="SP">SP</option> <option value="TO">TO</option>
</select></td>
</tr>
</table></td>
</tr>
<tr>
<td align="right">* CEP/País:</td>
<td class="padding_bottom_3"><table width="246" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="153"><input type="text" name="cep" class="input_145"></td>
<td width="15" align="center" class="tahoma_11_preto">/</td>
<td width="80"><input type="text" name="pais" class="select_80">
</td>
</tr>
</table></td>
</tr>
<tr>
<td align="right">* (DDD)Telefone:</td>
<td class="padding_bottom_3"><input type="text" name="telefone" class="input_145"></td>
</tr>
<tr>
<td align="right">Sexo:</td>
<td height="19" valign="bottom" class="padding_bottom_3"><table width="146" border="0" cellpadding="0" cellspacing="0" class="tahoma_11_preto">
<tr>
<td width="6"> </td>
<td width="20"><input name="sexo" type="radio" value="masculino"></td>
<td width="50">Masculino</td>
<td width="20"><input name="sexo" type="radio" value="feminino"></td>
<td width="50">Feminino</td>
</tr>
</table></td>
</tr>
<tr>
<td align="right">Nascimento:</td>
<td class="padding_bottom_3"><input type="text" name="nascimento" class="input_145"></td>
</tr>
<tr>
<td align="right">Escolaridade:</td>
<td class="padding_bottom_3"><select name="escolaridade" class="select_167">
<option value="" selected="selected">Selecione</option><option value="Fundamental">Fundamental - 1º grau</option><option value="Ensino Médio">Ensino Médio - 2º grau</option><option value="Superior Incompleto">Superior Incompleto</option><option value="Superior Completo">Superior Completo</option><option value="Pós graduação">Pós graduação</option><option value="Mestrado">Mestrado</option><option value="Doutorado">Doutorado</option>
</select> </td>
</tr>
<tr>
<td align="right">Profissão:</td>
<td class="padding_bottom_3"><input type="text" name="profissao" class="input_167"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="25" bgcolor="#eee0e4"><img src="img/titulo_atendimento_cliente_informacoes_cabelo.gif" width="222" height="25"></td>
</tr>
<tr>
<td class="padding_formulario"><table width="333" border="0" cellspacing="0" cellpadding="0" class="tahoma_11_preto">
<tr>
<td width="87" align="right">Cor:</td>
<td width="246" class="padding_bottom_3"><input type="text" name="corcabelo" class="input_167"></td>
</tr>
<tr>
<td align="right">Tipo de Cabelo:</td>
<td class="padding_bottom_3"><select name="tipocabelo" class="select_167">
<option value="" selected="selected">Selecione</option><option value="Liso">Liso</option><option value="Ondulado">Ondulado</option><option value="Crespo">Crespo</option><option value="Muito Crespo">Muito Crespo</option>
</select></td>
</tr>
<tr>
<td align="right">Possui alguma <br>
química no <br>
cabelo:</td>
<td height="19" valign="top" class="padding_bottom_3"><table width="106" border="0" cellpadding="0" cellspacing="0" class="tahoma_11_preto">
<tr>
<td width="6"> </td>
<td width="20"><input type="radio" name="quimica" value="sim"></td>
<td width="30">Sim</td>
<td width="20"><input type="radio" name="quimica" value="nao"></td>
<td width="30">Não</td>
</tr>
</table></td>
</tr>
<tr>
<td align="right">Se sim, qual ?</td>
<td class="padding_bottom_3"><input type="text" name="tipoquimica" class="input_238"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="25" bgcolor="#eee0e4"><img src="img/titulo_atendimento_cliente_sua_solicitacao.gif" width="118" height="25"></td>
</tr>
<tr>
<td class="padding_formulario"><table width="333" border="0" cellspacing="0" cellpadding="0" class="tahoma_11_preto">
<tr>
<td width="246" class="padding_bottom_3"><select name="solicitacao" class="select_167_2">
<option selected>Selecione</option>
<option value="Informação">Informação</option>
<option value="Sugestão/Elogio">Sugestão/Elogio</option>
<option value="Reclamação">Reclamação</option>
</select></td>
</tr>
<tr>
<td class="padding_bottom_3"><textarea name="texto" class="input_331"></textarea></td>
</tr>
<tr>
<td class="padding_bottom_3"><table width="333" border="0" cellspacing="0" cellpadding="0" class="tahoma_11_preto">
<tr>
<td width="182">Deseja receber Catálogos da AMEND:</td>
<td width="151" height="19"><table width="106" border="0" cellpadding="0" cellspacing="0" class="tahoma_11_preto">
<tr>
<td width="6"> </td>
<td width="20"><input name="assina" type="radio" value="sim" checked></td>
<td width="30">Sim</td>
<td width="20"><input type="radio" name="assina" value="nao"></td>
<td width="30">Não</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td height="43" align="right" valign="bottom" class="padding_bottom_3"><input type="image" src="img/bt_atendimento_cliente_enviar.gif" width="68" height="23" ></td>
</tr>
</table></td>
</tr>
</table></td>
<td width="17"> </td>
</tr>
</table>
</div></td></form>No inicio da página cadastrar coloque:
Response.Write Request.Form("email")
Response.EndPoste o resultado.
>
No inicio da página cadastrar coloque:
Response.Write Request.Form("email")
Response.EndPoste o resultado.
Já fiz isso, companheiro..l. é só ler o tópico todo...
Mas por desencargo de consciencia fiz de novo e ele me retorna exatamente o email postado no form. E aí?
Li o tópico todo, mas não vi isso. Agora relendo novamente percebi que já havia falado.
Quando você insere o e-mail diretamente, você insere o mesmo e-mail do Formulário?
>
Li o tópico todo, mas não vi isso. Agora relendo novamente percebi que já havia falado.
Quando você insere o e-mail diretamente, você insere o mesmo e-mail do Formulário?
Bingo! A resposta é não...
Mas assim meu código vai restringir emails... será por causa do smtp do yahoo? que outro smtp eu poderia usar para receber emails de qualquer host?
Pelo menos um e-mail (destinatário ou remetente) tem que está cadastrado no Yahoo.
>
Pelo menos um e-mail (destinatário ou remetente) tem que está cadastrado no Yahoo.
O destinatário está cadastrado no yahoo. O remetente é o email da pessoa que preenche o form.
Testei com um remetente yahoo e gmail e funcionou. Testei com um remetente de um dominio que tenho (contato@elluhost.com) e dá o erro. Recebo normalmente emails nessa conta.
Então como evitar que esse erro ocorra?
Um dos e-mails do destinatário ou remetente, tem que ter o mesmo domínio do e-mail informado na autenticação.
>
Um dos e-mails do destinatário ou remetente, tem que ter o mesmo domínio do e-mail informado na autenticação.
Já resolvi. Coloquei o rementente e o destinatario iguais ao dominio informado na autenticação e no reply eu coloquei a variavel email.
Obrigado.
Bacana, mas não precisava ser os dois, pelo menos nos servidores que utilizo, basta apenas um. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
tive um problema assim, e geralmente e-mail rejeitado pelo servidor, pode ser algumas dessas coisas
Verifique se o servidor SMTP permite anônimo (não autenticada) de afinação e se o seu SMTP de saída requer autenticação,verifique se o problema é específico para o nome de domínio (s) usado em endereços de e-mail dos destinatários. Por exemplo, alguns usuários se queixaram de que eles podem enviar para os usuários em seu próprio domínio apenas, outros disseram que pode enviar para qualquer domínio, exceto o seu próprio,pode ser simplesmente que o endereço de e-mail está sendo rejeitado, mas outras configurações no servidor SMTP estão impedindo a mensagem de erro verdadeiro de ser retransmitida de volta para o script para verificar se o endereço é válido.
Se você tem um proxy ou firewall, verifique se o servidor web está configurado corretamente para passar por ela, que o servidor SMTP sabe sobre ele, e que o proxy permite o acesso a porta 25.
Tente usar um valor SendUsing de 1 (pickup) ao invés de 2 (port). Por exemplo a seguinte linha:
. Item (cdoSendUsingMethod) = cdoSendUsingPort
Torna-se
. Item (cdoSendUsingMethod) = cdoSendUsingPickup
De um response.write no Request.Form("email") e veja se esta passando direitinho comfirma se o email é o parametro name do imput no form de envio.