Ir para conteúdo

POWERED BY:

Arquivado

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

viniathayde

[Resolvido] Form FLASH + CDOSYS

Recommended Posts

Galera,

sei que não aguentam mais ver esse tópico, mas tenho um site todo em flash www.andreamendes.com que tem um formulario mt simples: Nome, E-mail e Comentários.

A locaweb usa o CDOSYS, procurei milhoes de códigos na net, vou substituindo as infos mas na hora de testar meu fla, o compilador de erros diz: ERROR OPENING URL http://www.andreamendes.com/mail.asp

 

O formulario do flash é assim, o campo nome tem a variavel "nome", o campo email a variável "email" e o campo comentários a variável "msg", existe um campo dinamico que mostra as mensagens de envio e etc que tem a variavel "status"

 

Se puderem me ajudar serei mt mt grato pois sou nulo em asp.

 

o último código com o qual tentei é o seguinte:

Agradeço desde já.

 

<%
Dim mail
Dim msgTxt
Dim subject
Dim var_nome, var_email, var_mensagem

var_nome = Request.QueryString("nome")
var_mail = Request.QueryString("email")
var_mensagem = Request.QueryString("msg")
subject = "E-mail do site andreamendes.com"
msgTxt = "<html><head></head><body bgcolor='#FFFFFF'><p align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='2'>Você recebeu uma nova mensagem de andreamendes.com</p><p aligh='left'><font face='Verdana, Arial, Helvetica, sans-serif' size='2'><br>NOME: <b>"
msgTxt = msgTxt & var_nome
msgTxt = msgTxt & "</b><br>E-MAIL: <b>"
msgTxt = msgTxt & var_email
msgTxt = msgTxt & "</b><p aligh='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='2'><br>MENSAGEM:</font></p><p align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='2'><b>"
msgTxt = msgTxt & var_mensagem
msgTxt = msgTxt & "</b></font></p></body></html>"

Set mail = Server.CreateObject("CDO.Message")
mail.To	   = "webmaster@andreamendes.com"
mail.From	 = Request("var_email")
mail.Subject  = subject
mail.HTMLBody = msgTxt
   
mail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
 
mail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.andreamendes.com"
 
mail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
 
mail.Configuration.Fields.Update
 
mail.send
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, sugiro que:

-veja o material de ajuda da locaweb e pegue o exemplo de lá;

-execute apenas a página asp, sem interagir com o flash para ter certeza que o problema está no envio do flash para o asp.

-se funcionar o email direto no asp seu problema possivelmente está na programação AS e não no asp pois no asp você só precisa fazer o request dos dados que vem do flash

 

mais um detalhe, por se tratar de um formulario de contato, o envio deve ser feito por um email do proprio dominio, ou seja...troque:

 

mail.From = Request("var_email")

 

para

 

mail.From = "webmaster@andreamendes.com"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem vamos la, eu tive esse problema também e resolvi assim:

 

Flash

vem uma camada chamada ações(por exemplo)e no frame você coloca:

 

stop();

var objMail:LoadVars = new LoadVars();

bt.onRelease = function() {

objMail.nome = nome.text;

objMail.email = email.text;

objMail.assunto = assunto.text;

objMail.mensagem = mensagem.text;

mensagem.text = nome.text = assunto.text = email.text = "";

objMail.sendAndLoad("http://www.SEU_DOMINIO.com.br/envia.asp", objMail, "POST"); --> lembre-se que tem que ser o endereço completo da web e de onde ficará a sua página ASP ( envia.asp )

}

objMail.onLoad = function() {

gotoAndStop(2);

if(this.ver)

msg.text = "Sua mensagem foi enviada com sucesso!";

else

msg.text = "Ocorreu algum erro no envio da mensagem";

}

 

Em outra camada abaixo no 1º frame você criará o form nos "CAMPOS" tem de ser do tipo input Text ( todos tem que ser single line menos mensagem tem que ser multiline e todos com a borda sendo mostrada) com a INSTANCIA "e não a Variável" com os nomes: nome, email, assunto e mensagem, e um botão de ENVIAR com a INSTANCIA de bt

no frame 2 terá um Dynamic Text com a INSTANCIA msg.

Pronto no Flash acabou.

 

ASP --> você cria o envia.asp, que o código vai ser assim:

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>ENVIA</title>

</head>

 

<body>

 

<%

nome = request.Form("nome")

email = request.Form("email")

assunto = request.Form("assunto")

mensagem = request.Form("mensagem")

if (request.form <> "") then

sch = "http://schemas.microsoft.com/cdo/configuration/"

Set cdoConfig = Server.CreateObject("CDO.Configuration")

cdoConfig.Fields.Item(sch & "sendusing") = 2

cdoConfig.Fields.Item(sch & "smtpserver") = "localhost"

cdoConfig.fields.update

Set cdoMessage = Server.CreateObject("CDO.Message")

Set cdoMessage.Configuration = cdoConfig

cdoMessage.From = email

cdoMessage.To = "SEU E-MAIL@SEU DOMINIO.com.br"

cdoMessage.Subject = assunto

cdoMessage.HTMLBody = "<table width='100%' border='0' cellpadding='0' cellspacing='0'><tr><td width='10%'>Nome:</td><td width='91%'>" & nome & "</td></tr><tr><td>Email:</td><td>" & email & "</td></tr><tr><td>Assunto:</td><td>" & assunto & "</td></tr><tr><td>Mensagem:</td><td>" & mensagem & "</td></tr></table>"

cdoMessage.Send

Set cdoMessage = Nothing

Set cdoConfig = Nothing

end if

Response.Write("&ver=1&")

%>

</body>

</html>

 

Coloque-o no caminho q você indicou no FLASH e PRONTO.

 

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kleber, valew mesmo!! funcionou perfeito!

Só um mísero detalhe que talvez você saiba, se a pessoa colocar acentos no formulario no flash, a mensagem que chega no email vem sem a letra acentuada por exemplo:

la no formulario do flash no site no campo nome, eu preencho Vinícius (com acento no i), mando, dá td certo.

Quando vou olhar a mensagem na cx de entrada aparece: Nome: Vincius (come a letra acentuada..)

O filme do flash está com o System code page true..

Acho que deve ser alguma linha que falta no arquivo envia.asp mas só acho eheh nao manjo nada.. Será que você sabe??

 

Valew

Abss

 

Bem vamos la, eu tive esse problema também e resolvi assim:

 

Flash

vem uma camada chamada ações(por exemplo)e no frame você coloca:

 

stop();

var objMail:LoadVars = new LoadVars();

bt.onRelease = function() {

objMail.nome = nome.text;

objMail.email = email.text;

objMail.assunto = assunto.text;

objMail.mensagem = mensagem.text;

mensagem.text = nome.text = assunto.text = email.text = "";

objMail.sendAndLoad("http://www.SEU_DOMINIO.com.br/envia.asp", objMail, "POST"); --> lembre-se que tem que ser o endereço completo da web e de onde ficará a sua página ASP ( envia.asp )

}

objMail.onLoad = function() {

gotoAndStop(2);

if(this.ver)

msg.text = "Sua mensagem foi enviada com sucesso!";

else

msg.text = "Ocorreu algum erro no envio da mensagem";

}

 

Em outra camada abaixo no 1º frame você criará o form nos "CAMPOS" tem de ser do tipo input Text ( todos tem que ser single line menos mensagem tem que ser multiline e todos com a borda sendo mostrada) com a INSTANCIA "e não a Variável" com os nomes: nome, email, assunto e mensagem, e um botão de ENVIAR com a INSTANCIA de bt

no frame 2 terá um Dynamic Text com a INSTANCIA msg.

Pronto no Flash acabou.

 

ASP --> você cria o envia.asp, que o código vai ser assim:

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>ENVIA</title>

</head>

 

<body>

 

<%

nome = request.Form("nome")

email = request.Form("email")

assunto = request.Form("assunto")

mensagem = request.Form("mensagem")

if (request.form <> "") then

sch = "http://schemas.microsoft.com/cdo/configuration/"

Set cdoConfig = Server.CreateObject("CDO.Configuration")

cdoConfig.Fields.Item(sch & "sendusing") = 2

cdoConfig.Fields.Item(sch & "smtpserver") = "localhost"

cdoConfig.fields.update

Set cdoMessage = Server.CreateObject("CDO.Message")

Set cdoMessage.Configuration = cdoConfig

cdoMessage.From = email

cdoMessage.To = "SEU E-MAIL@SEU DOMINIO.com.br"

cdoMessage.Subject = assunto

cdoMessage.HTMLBody = "<table width='100%' border='0' cellpadding='0' cellspacing='0'><tr><td width='10%'>Nome:</td><td width='91%'>" & nome & "</td></tr><tr><td>Email:</td><td>" & email & "</td></tr><tr><td>Assunto:</td><td>" & assunto & "</td></tr><tr><td>Mensagem:</td><td>" & mensagem & "</td></tr></table>"

cdoMessage.Send

Set cdoMessage = Nothing

Set cdoConfig = Nothing

end if

Response.Write("&ver=1&")

%>

</body>

</html>

 

Coloque-o no caminho q você indicou no FLASH e PRONTO.

 

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha não tenho bem certeza, pois ainda não testei , mas tenta trocar la no envia.asp

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

 

por

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

 

qualquer coisa posta ae Ok.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kleber pode usar porque funciona!

Agora sim ta td funcionando com acento e tudo!! hehe

Muito obrigado mesmo pela ajuda, foi de vital importância pra eu finalizar esse site.

Valew kra!

 

qq coisa me manda um email ai vinibraga@gmail.com

abs

 

Olha não tenho bem certeza, pois ainda não testei , mas tenta trocar la no envia.asp

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

 

por

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

 

qualquer coisa posta ae Ok.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, eu apliquei o codigo mas não funcionou, me retornou um erro:

 

CDO.Message.1 error '8004020d'

At least one of the From or Sender fields is required, and neither was found.

/email_enviar.asp, line 28

Olha meu codigo

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ENVIA</title>
</head>

<body>

<%
nome = request.Form("nome")
email = request.Form("email")
assunto = request.Form("assunto")
mensagem = request.Form("mensagem")
if (request.form <> "") then
sch = "http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig = Server.CreateObject("CDO.Configuration")
cdoConfig.Fields.Item(sch & "sendusing") = 2
cdoConfig.Fields.Item(sch & "smtpserver") = "localhost"
cdoConfig.fields.update
Set cdoMessage = Server.CreateObject("CDO.Message")
Set cdoMessage.Configuration = cdoConfig
cdoMessage.From = email
cdoMessage.To = "contato@artgrass.com.br"
cdoMessage.Subject = assunto
cdoMessage.HTMLBody = "<table width='100%' border='0' cellpadding='0' cellspacing='0'><tr><td width='10%'>Nome:</td><td width='91%'>" & nome & "</td></tr><tr><td>Email:</td><td>" & email & "</td></tr><tr><td>Assunto:</td><td>" & assunto & "</td></tr><tr><td>Mensagem:</td><td>" & mensagem & "</td></tr></table>"
cdoMessage.Send
Set cdoMessage = Nothing
Set cdoConfig = Nothing
end if
Response.Write("&ver=1&")
%>
</body>
</html>

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.